当我说嵌入这个我的意思时,请参考以下主题 - https://stackoverflow.com/a/28858630/5375223
让我给出一些背景信息,在我们的项目中,我们目前正在使用ActiveMQ作为消息传递代理,现在我们计划迁移到Kafka。请参阅附图。
如上图所示,生产者将数据发送到嵌入式代理,然后嵌入式代理将数据发送到外部代理,外部代理通过网络URL配置连接,如下所示。因此,如果外部代理不可用,则所有消息都将位于嵌入式代理中,直到可用。
<networkConnectors>
<networkConnector name="localhost" uri="static://somehost:1234" staticBridge="true">
<staticallyIncludedDestinations>
<queue physicalName="someQueueName"/>
</staticallyIncludedDestinations>
</networkConnector>
</networkConnectors>
那么,无论如何要和Kafka这样做吗?而不是直接连接到在应用程序外运行的代理
答案 0 :(得分:0)
Spring for Apache Kafka提供了一个嵌入式代理,但它主要用于测试。
kafka没有任何东西可以转移到&#34;转发&#34;从一个经纪人(嵌入或其他)到另一个经纪人的记录;你需要一些代码才能做到这一点。
无论如何,这样做的目的是什么?为什么不直接发送到外部经纪人?
无论如何,Kafka旨在与多个节点和多个zookeeper实例一起使用,以提供弹性并防止数据丢失,因此依赖单个本地实例可能会减少或消除这一点。