分布式消息队列kafka

简介: kafka是Linkedin开源的分布式发布-订阅消息系统(消息队列)kafka特点1 高吞吐率、低延迟,每秒处理几十万消息,延迟最低几毫秒2 可扩展性,支持动态扩展节点数据3 持久性与可靠性,数据被持久化磁盘,支持数据多副本防止数据丢失4 高容错,允许节点失败5 高并发,支持上千个客...

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台机器宕机后不会导致丢失数据

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



相关文章
|
1月前
|
消息中间件 存储 监控
RabbitMQ:分布式系统中的高效消息队列
RabbitMQ:分布式系统中的高效消息队列
|
1月前
|
消息中间件 存储 监控
消息队列:分布式系统中的重要组件
消息队列:分布式系统中的重要组件
|
4月前
|
消息中间件 Dubbo Java
Spring全家桶 、Dubbo、分布式、消息队列后端必备全套开源项目
基于 Spring Boot 2.X 版本的深度入门教程。 市面上的 Spring Boot 基础入门文章很多,但是深度入门文章却很少。对于很多开发者来说,入门即是其对某个技术栈的最终理解,一方面是开发者“比较懒”,另一方面是文章作者把 Spring Boot 入门写的太浅,又或者不够全面。
|
3月前
|
消息中间件 Kafka
消息队列 MQ:构建高效、可扩展的分布式系统
消息队列 MQ:构建高效、可扩展的分布式系统
|
3月前
|
消息中间件 存储 Apache
消息队列进阶-2.分布式事务解决思路汇总
消息队列进阶-2.分布式事务解决思路汇总
69 0
|
4月前
|
消息中间件 监控 负载均衡
Kafka 最佳实践:构建可靠、高性能的分布式消息系统
Apache Kafka 是一个强大的分布式消息系统,被广泛应用于实时数据流处理和事件驱动架构。为了充分发挥 Kafka 的优势,需要遵循一些最佳实践,确保系统在高负载下稳定运行,数据可靠传递。本文将深入探讨 Kafka 的一些最佳实践,并提供丰富的示例代码,帮助大家更好地应用这一强大的消息系统。
|
4月前
|
消息中间件 监控 安全
Kafka安全性探究:构建可信赖的分布式消息系统
在本文中,将研究Kafka的安全性,探讨如何确保数据在传输和存储过程中的完整性、机密性以及授权访问。通过详实的示例代码,全面讨论Kafka安全性的各个方面,从加密通信到访问控制,帮助大家构建一个可信赖的分布式消息系统。
|
4月前
|
消息中间件 存储 Kafka
分布式实时消息队列Kafka(一)Kafka的介绍
分布式实时消息队列Kafka(一)Kafka的介绍
65 0
|
4月前
|
消息中间件 存储 Java
分布式实时消息队列Kafka(二)Kafka分布式集群部署
分布式实时消息队列Kafka(二)Kafka分布式集群部署
76 0

相关产品

  • 云消息队列 Kafka 版