我正在设计一个系统,它就像从一个系统到另一个系统的消息转发器。我有几个选择,但我想应用提供更少资源消耗(cpu、ram)和延迟的最佳选项。因此,我需要您的建议和对此的看法。我们假设消息将从 Kafka 中的主题流式传输到我们的系统。我们需要将主题中的所有消息转发到另一台主机。为此目的可以有不同的策略。
- 收集一定数量的消息,比如说 100 条消息(批处理)并在单个 HTTP 消息中一次发送它们。
- 当收到一条消息时,系统会将此消息作为 http POST 请求发送到目标主机。
- 在我们的系统和目标主机之间打开 webSocket 并发送消息。
- 表现得像 Kafka 生产者并向主题发送消息。
他们每个人都可能有优点和缺点。我担心系统可能无法处理大量消息。除了这4个项目,你还有其他选择吗?就什么而言,您认为哪个是最佳选择?