您现在的位置是:首页 > 文章详情

分布式消息队列kafka

日期:2019-03-11点击:464

kafka是Linkedin开源的分布式发布-订阅消息系统(消息队列)

kafka特点

1 高吞吐率、低延迟,每秒处理几十万消息,延迟最低几毫秒

2 可扩展性,支持动态扩展节点数据

3 持久性与可靠性,数据被持久化磁盘,支持数据多副本防止数据丢失

4 高容错,允许节点失败

5 高并发,支持上千个客户端同时读写


架构如图


kafka:produce

1 向broker发送消息

2 可通过任意一个broker发现其他broker的位置信息

3 消息组成 topic key value timestamp


kafka:broker

1 producer和consumer之间的桥梁

   从producer端接收消息,并保存下来

   将消息发送给订阅的consumer

2 可将消息可靠地缓存一段时间

   每个消息保存成多副本(默认3)

   可设置保存时间(默认时间)


kafka:partition与topic

topic

  用户划分message的逻辑概念,一个topic可以分布到不通的broker上

partition

  kafka横向扩展和一切并行化的基础,每个topic至少分成1个partition

  消息在partition中是有编号的,称为“offset”

  kafka以partition为单位对消息进行备份(replica),每个partition可以配置至少有1个replica


kafka:consumer

  负责从kafka中读取数据,并进行处理

Consumer group

  多个consumer可形成一个group,同时读取某个topic。

  每个consumer读取一个或多个partition

Consumer position

  每个consumer自己维护读取的位置(offset,一旦挂掉后,重启可继续读取)




kafka架构图


kafka:服务保证

顺序保证

  同一个producer发送到单个topic的同一partition的消息是顺序的

  Consumer按照消息在日志中的写入顺序读取消息

Producer产生的数据由Consumer消费

容错

  如果消息的副本数是N,则N-1台机器宕机后不会导致丢失数据

应用场景 :监控 、消息队列、站点的用户活动追踪 、流处理、



原文链接:https://yq.aliyun.com/articles/693306
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章