我有两个经纪人,我想限制第二个与特定地区的特定消息。
例如,我们在世界上有多个地区提供我们的服务,如中国、印度
我只想将印度地区的特定合作伙伴数据转移到broker1,将中国地区的数据转移到broker2。
如果这可能的话,我正在寻找解决方案需要在C#实现,但欢迎的想法。
我的初始配置如下
`"Kafka": {`
`"Address": "[\"localhost\"]",
` ` "BrokerHosts": "[\"localhost:9092\"]",`
`"BrokerHostsIndia": "[\"localhost:9094\"]",`
`}`
1条答案
按热度按时间r1zhe5dt1#
我不太确定我是否理解这个问题。这里的配置是针对 * 集群 * 的,而不是代理。
您可以执行
var bootstrapIndia = config.get("Kafka").get("BrokerHostsIndia")
,然后在ProducerConfig
中进行设置,以获得“India region”集群的生产者。一个生产者不能同时发送到多个集群,因此您需要一些
Dictionary<string, IProducer>
,然后在每个区域创建多个示例。或者生产到一个地区,然后使用类似MirrorMaker的工具镜像到另一个地区。