从0开始回顾Kafka---系列二
生产者
1、 Kafka 中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?
分区器
● 消息经过序列化之后就需要确定它发往的分区,如果消息 ProducerRecord 中指定了 partition 字段,那么就不需要分区器的作用,因为 partition 代表的就是所要发往的分区号。
● 如果消息 ProducerRecord 中没有指定 partition 字段,那么就需要依赖分区器,根据 key 这个字段来计算 partition 的值。分区器的作用就是为消息分配分区。
序列化器
● 生产者需要用序列化器(Serializer)把对象转换成字节数组才能通
从0开始回顾Kafka---系列一
2、 Kafka有哪些优点和缺点?
优点:
1. 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒。
2. 可扩展性:kafka集群支持水平扩展。
3. 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失。
4. 容错性:允许集群中节点故障(若副本数量为n,则允许n-1个节点故障)。
5. 高并发:支持数千个客户端同时读写。
缺点:
1. 同步收发消息的响应时延比较高,因为当客户端发送一条消息的时候,Kafka 并不会立即发送出去,而是要等一会儿攒一批再发送。
2. Kafka 不太适合在线业务场景,由于是批量发送,所以数据达不到真正的实时。
3.