![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kafka
小作坊中搬砖
悠然见南山……
展开
-
生产者分区机制
一、分区目的 kafka的结构是Topic、分区、消息三层结构 Topic下的多个分区可以部署在不同的服务器上,实现负载均衡,提高吞吐量。数据的读写就是针对分区实现的。二、分区策略 分区策略指的是:生产者将消息发往哪个分区的算法。 轮询策略:按照分区依次发送数据 随机策略:按照分区数随机生成发送的分区 按消息键保存策略:根据key hash后对分区数求余,将key相同的数据发往同一个分区 轮询...原创 2020-06-14 11:08:05 · 163 阅读 · 0 评论 -
kafka消息丢失的场景分析
一、生产者程序丢失数据 消息大小超过Broker的message.max.bytes的值,Broker会直接返回错误;消息的格式错误;网络的瞬时抖动都可能造成生产者程序的数据没有发送到Broker;分区首领副本挂了等 生产者采用producer.send(ProducerRecord record)导致数据发送后不管Broker是否接收到继续其他业务,都可能会出现上述丢失数据的场景。因此,需要使用producer.send(ProducerRecord record, CallB...原创 2020-06-14 22:47:12 · 1135 阅读 · 0 评论 -
kafka线上集群相关配置
1、操作系统、磁盘、磁盘容量和带宽 操作系统:linux|windows 1> I/O模型 阻塞式I/O、非阻塞式I/O、I/O多路复用、信号驱动I/O和异步I/O。通常后一种模型比前一种模型高级,比如epoll比select好。而kafka客户端底层使用了java selector,在linux中实现机制是epoll,在windows上是select,所以,在linux上会有更高的I/O性能。 2> 网络传输效率 ...原创 2020-06-14 09:10:25 · 268 阅读 · 0 评论