消息队列
毛小树
Explore the unknown world!
展开
-
关于消息队列的一些思考
在一个事务中,A系统使用rpc调用了B系统的service,在本地调试时经常会出现rpc调用超时的问题,将会导致整个事务的回滚,况且随着业务量的增大,调用rpc的次数也会急剧增加。组内大佬一排砖头决定:将rpc调用改成消息队列MQ的方式,A系统成功将请求发送给MQ后便会继续执行后续操作。 作为组内十万个为什么的我就会思考:为什么会使用消息队列呢?使用了消息队列会带来什么好处呢?它会有什么缺点...原创 2019-06-16 08:43:06 · 294 阅读 · 0 评论 -
读书笔记——Kafka核心技术与实战(生产环境的 Kafka 集群方案需考虑的因素)
既然是集群,必定涉及到多Kafka节点机器,单台机器构成的伪集群只能在日常测试中使用,无法满足线上实际需求。考虑因素: 操作系统 磁盘 磁盘容量 带宽 操作系统 IO 模型的使用:Kafka 底层使用 Java 的 selector,selector 在 Linux 的实现机制是 epoll,在 Windows 的实现机制是 select,因此在这点上 Kafka 部署在 Linux 有优势...原创 2019-08-24 16:34:57 · 286 阅读 · 0 评论 -
读书笔记——Kafka核心技术与实战(生产者分区机制原理)
为什么分区? 分区作用是提供负载均衡的能力,对数据分区是为了实现系统的高伸缩性 (High Scalability). 不同的分区可放置在不同节点的机器上(同一个分区的副本可以分布在不同的机器上),数据的访问操作都是针对分区这个粒度进行的,这样每个节点的机器都独立执行各自分区的读写请求; 增加新的节点机器来增加整理的吞吐量; 分区策略是什么?有哪些? 分区策略是指决定生产者将消息发送到哪...原创 2019-08-25 16:15:23 · 241 阅读 · 0 评论 -
读书笔记——Kafka核心技术与实战(生产者压缩算法小结)
压缩:Conpression 用时间去换取空间的经典 trade-off 思想,用 CPU 时间换磁盘空间或网络 IO 传输量,用较少的 CPU 开销带来更少的磁盘占用或 IO 传输。 Kafka 的消息层次 消息集合 message set 和 消息 message,一个消息集合包含多个日志项 record item。日志项才是真正封账消息的地方, Kafka 通常会在消息集合层面进行写入...原创 2019-08-25 16:38:38 · 196 阅读 · 0 评论