美文网首页
Kafka设计之美

Kafka设计之美

作者: 福杯满溢 | 来源:发表于2018-08-30 09:37 被阅读0次

一 数据传输

1 传统数据从文件到网络的传输路径
1. 操作系统将数据从磁盘读入内核空间的pagecache中
2. 应用程序将内核空间中的数据读入用户空间缓冲区
3. 应用程序将数据写回内核空间的套接字缓冲区
4. 操作系统将数据从套接字缓冲区复制到NIC缓冲区(网卡),并发送到网络上

其中1,2,3,4步骤均发生了数据拷贝。
2,3步骤发生了系统调用。

也就是发生了4次拷贝,2次系统调用。
2 传统数据从文件到网络的传输路径图解
传统数据从文件到网络的传输路径图解
3 对传统数据传输的优化 --- sendfile
对传统数据传输的优化图解

2 推拉模式的选择

1. 如果选择broker向消费者push消息
1. 各种消费者的处理能力不同,有的处理性能高,有的处理性能低,如果broker在不了解消费者处理能力的前提下push消息,有可能导致消费者不堪重负。
2. 基于Push的系统必须选择立即发送请求,并且在不能感知下游消费者是否能马上处理的情况下发送。
如果倾向于低延迟的调整,这将导致每次只能发送单条消息,这非常浪费。
2. 如果选择消费者向broker pull消息
1. 消费者可以根据自己的消费能力来决定拉取消息,比较灵活,也可以保证系统的稳定性
2. pull模式可以引入批处理模式,一个基于Pull的设计消费者总是拉取日志中当前位置后所有有效的消息,
因此可以在不引入不必要的延迟的情况下得到最佳的批处理。

相关文章

  • Kafka设计之美

    一 数据传输 1 传统数据从文件到网络的传输路径 2 传统数据从文件到网络的传输路径图解 3 对传统数据传输的优化...

  • 【kafka】kafka理论之partition & repli

    深入理解Kafka:核心设计与实践原理 Kafka理论之Partition & Replication 基于分区和...

  • iOS设计模式之美-适配器模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式之美-抽象工厂模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式之美-工厂模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式之美-生成器模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • kafka学习系列

    Kafka学习总结(一)——Kafka简介 Kafka学习总结(二)——Kafka设计原理 Kafka学习总结(三...

  • Kafka详细的设计和生态系统

    Kafka详细的设计和生态系统 Kafka生态系统 - Kafka核心,Kafka流,Kafka连接,Kafka ...

  • [Kafka]+Storm+HDFS

    简单之美 | Kafka+Storm+HDFS整合实践http://shiyanjun.cn/archives/9...

  • 设计模式

    Java之美[从菜鸟到高手演变]之设计模式 Java之美[从菜鸟到高手演变]之设计模式二 Java之美[从菜鸟到高...

网友评论

      本文标题:Kafka设计之美

      本文链接:https://www.haomeiwen.com/subject/ghfrwftx.html