分布式消息队列kafka
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台机器宕机后不会导致丢失数据
应用场景 :监控 、消息队列、站点的用户活动追踪 、流处理、
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【阿里云峰会】云上护航服务—保障云上的尖峰时刻
在数字经济和互联网时代,经常会有一些重大事件,如新零售秒杀、出行大促、大型峰会、晚会等,这些业务高峰会给业务平台带来不小的考验,并且有越来越多的行业正在经历这些考验,如金融、游戏、物联网、新零售、媒体等,亟需一套成熟有体系的护航保障服务方案,来应对云上业务的尖峰时刻。 结合多年服务于各个行业客户的丰富经验和深厚沉淀,阿里云智能护航团队积累了一套成熟完善的云上护航服务方案,帮助客户平稳应对业务高峰时刻。通过标准的SOP护航服务标准,阿里云智能护航团队从客户业务视角出发,针对客户不同的业务场景进行深度分析并给出最佳实践:在架构上:帮助客户通过全链路的评估、压测,完成业务架构的性能优化,建立合理的资源弹性扩展;在安全上:帮助客户建立一套完善的安全防御体系,帮助抵御流量攻击,恶意请求、业务诈骗等行为;在直播上:帮助客户通过业务分析,进行节点
- 下一篇
【直播预告】云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第19讲):Java Spring Cloud微服务架构模...
主讲人:徐雷(云栖社区特邀Java专家)徐雷,花名:徐雷frank;资深架构师,MongoDB中文社区联席主席,吉林大学计算机学士,上海交通大学硕士。从事了 10年+开发工作,专注于分布式架构,Java Spring Boot、Spring Cloud、MongoDB、Redis。 喜欢专研技术问题,擅长讲课,《MongoDB实战》第2版、《24种云计算架构设计模式》译者,2018年5月受邀成为《阿里巴巴Java和MongoDB技术认证》讲师,2018年8月与阿里巴巴资深专家P9叶翔直播《阿里巴巴MongoDB高级实战课程》 点击关注徐雷的云栖社区个人主页 内容概要: Java Spring Cloud最早、最成熟、最流行的开源微服务生态解决方案,经过许多大型互联网公司生产检验的,随着阿里巴巴开源Spring Cloud Alibaba项
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Red5直播服务器,属于Java语言的直播服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Hadoop3单机部署,实现最简伪集群