点击上方“Python与算法社区”,选择“星标”公众号
第一时间速享原创干货
系列第三篇,总第290篇原创
1
Kafka作为一个消息系统,为什么会如此受欢迎?消息系统在不同系统传输数据中扮演着非常重要的角色。让我们看看没有消息系统的数据管道会怎样?
以Hadoop为例,Kafka起始于数据存储与处理的Hadoop开源框架。如果没有数据,Hadoop就变的一点用没有,所以首先应该是将数据迁移到Hadoop。
数据可能来源于不同的独立系统,这些系统都需要与Hadoop交互,相互交互。
这就会变的非常复杂,不同系统之间可能存在许多通信通道,不同通道之间需要自定义协议与通信方法,因此迁移数据就成了开发团队的焦点,所有精力都被集中到数据传输而不是业务实现。
在看这张图片,如果使用Kafka作为消息传输的缓冲区,所有应用程序之间的依赖都被解耦合了,只需要发送数据到Kafka,然后从Kafka取消息。应用程序只需要针对Kafka的消息传输接口,开发出一套消息生产或者消费接口即可。
2
什么是Kafka?
Kafka是一个基于发布订阅模式实现的快速、高可扩展、高可备份的分布式消息系统。
Kafka的分布式设计有以下几个优点:
(1)Kafka允许有大量的永久或者临时消费者消费消息。
(2)对