- kafka 消息分发策略
1.1 kafka发送者按照一定规则发送消息到topic下指定分区;
a. 随机策略, producer 按照随机策略发送消息到topic下的分区, 优点是可以平衡各个分区数据,不会造成分区之间数据不平衡;
b. 轮询策略, 默认是轮询策略; 以轮询的方式把消息发送到topic下每个分区上;
c. 自定义key, 实现Partitioner接口自定义消息分发策略, 可以根据key,value定制化消息的分区;
分析: 消息会被发送到指定的partition上,保证严格意义上的顺序消费; 但也会出现不均衡问题;
如果要做好精准消费,那就要做好幂等操作, 幂等操作依赖于消息提前分区好,提前分区那必须要用自定义key, 个人理解;
1.2 kafka consumer 消费区分策略:
consumer 消费partition上的消息也分几种策略,主要有三种,range策略,round-bin策略和sticky策略;
参考资料: