V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF
目录
- 1、客户端与服务端的交互
- 2、频繁网络通信带来的性能低下问题
- 3、batch机制:多条消息打包成一个batch
- 4、request机制:多个batch打包成一个request
这篇文章,给大家聊一个消息中间件相关的技术话题,对于一个优秀的消息中间件而言,客户端与服务端通信的时候,对于这个网络通信的机制应该如何设计,才能保证性能最优呢?甚至通过优秀的设计,让性能提升10倍以上。
我们本文就以Kafka为例来给大家分析一下,Kafka在客户端与服务端通信的时候,底层的一些网络通信相关的机制如何设计以及如何进行优化的。
1、客户端与服务端的交互
假如我们用kafka作为消息中间件,势必会有客户端作为生产者向他发送消息,这个大家应该都可以理解。
对于Kafka来说,他本身是支持分布式的消息存储的,什么意思呢?
比如说现在你有一个“Topic”,一个“Topic”你就可以理解为一个消息数据的逻辑上的集合。
比如现在你要把所有的订单数据都发送到一个“Topic”里去,那么这个“Topic”就叫做“OrderTopic”,里面都放的是订单数据。
接着这个“Topic”的数据可能量很大很大,不可