Kafka特性
- 顺序读写(高吞吐)
- 吞吐率可以水平拓展
- 消息可以保存
- 发送消息可以指定key,producer根据key和patition机制来判断将消息发送到那个partition
- 一般partition的数量大于broker以便均匀分配到broker上
如何为kafka集群选择合适的topic数量和partition数量
- 越多的分区可以提供更高的吞吐量
- 越多的分区需要打开更多的本地文件句柄
- 更多的分区会导致更高的不可用性
- 越多的分区可能增加端对端的延迟
- 越多的partition意味着需要客户端更多的内存
Kafka高可用保证
- Replication
- zookeeper