KafKa的负载均衡策略

场景:假设有3台相同的服务,也就是说这3台服务它们都订阅了相同的topic。但其实当producer往该topic输入一些数据时,我只是希望随机的其中的某一台机器,消费到,然后做相应的业务处理,比如存储数据库等等。
 1. 其实是消息在写入kafka的时候就已经被随机写入到一个partiton中,然后不同的partiton对应不同的服务,就实现了负载均衡。
 2. 相同的组中都是相同的service服务,所以每次只有一个服务能获取一个partiton的消息。因为每个消息只会被写到一个partiton中。
但是不同的group却可以消费相同的和另一个组相同的partition的。其实partition是以组来分的,一个组里的只能有一个消费的service来消费这个partition,而不同的组里可以消费相同的partiton。


kafka负载均衡.jpg

你可能感兴趣的:(KafKa的负载均衡策略)