Kafka工作流程简介-创新互联-成都快上网建站

Kafka工作流程简介-创新互联

消息传递模式简介:

一个消息系统负责将数据从一个应用程序传递到另外一个应用程序中,应用程序只关注数据,无需关注数据在多个应用之间是如何传递的。
分布式消息传递基于可靠的消息队列,在客户端应用和消息系统之间异步传递消息。
消息传递有两种模式,分别是点对点消息传递模式和发布订阅消息传递模式。

公司主营业务:网站建设、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出诏安免费做网站回馈大家。1. 点对点消息传递模式:

点对点消息传递模式结构中,消息是通过一个虚拟通道(队列)进行传输的,生产者发送一条数据,消息将持久化到一个队列中,此时将有一个或多个消费者会消费队列中数据,但是一条消息只能被消费一次,且消费后的消息会从消息队列中删除,因此,即使有多个消费者同时消费数据,只会有一个消费者消费成功,数据都可以被有序处理。
image.png

2. 发布订阅消息传递模式:

在发布订阅模式中,发布者用于发布消息,订阅者用于订阅消息, 可以有多个不同的订阅者,发布者发布的消息会被持久化到一个主题中,这与点对点模式不同的是,订阅者可订阅一个或多个主题,订阅者可读取该主题中所有数据,同一条数据可被多个订阅者消费,数据被消费后也不会立即删除。

image.png

Kafka 简介:

Kafka是由Apache软件基金会开发的一个开源流处理平台,它由Scala和Java语言编写,是一个基于Zookeeper系统的分布式发布订阅消息系统,它与Apache Storm和Spark可以非常好地集成,用于实时流式数据分析。
Kafka能够在离线和实时两种大数据计算架构中处理数据。

Kafka的特性:

(1)解耦:只要生产者和消费者遵循接口约束,就可以修改或扩展数据处理的业务过程。
(2)扩展性:无需停机,用户可以向集群添删新的Kafka服务器。
(3)分布式:日志的分区partition(分布)在Kafka集群的服务器上。
(4)持久性:Kafka使用分布式提交日志,这意味着消息会尽可能快地保留在磁盘上,因此它是持久的。
(5)容错性:Kafka会将消息数据备份到多个服务器节点中。
(5)性能:Kafka对于发布和订阅消息都具有高吞吐量、低延迟。 即使存储了许多TB的消息,它也保持稳定的性能。
(6)支持多种客户端语言

Kafka架构:

image.png

Kafka核心组件:

image.png
同一消费组的不同消费者只能获取唯一的主题,不可获得同一主题,不同消费组的不同消费者可获得同一主题.

Kafka核心组件介绍:

image.png

image.png

6.2 Kafka工作原理: Kafka工作流程分析: 1. 生产者生产消息过程:

生产者向Kafka集群中生产消息。Producer是消息的生产者,通常情况下,消息源可是服务器日志、业务数据及Web服务数据等,生产者采用推送的方式将数据消息发布到Kafka的主题中,主题本质就是一个目录,而主题是由Partition Logs(分区日志)组成,每条消息都被追加到分区中。

image.png

  1. Producer先从Zookeeper中找到该Partition的Leader。
  2. Producer将生产的数据消息发送给Leader。
  3. Leader负责将消息写入本地分区Log文件中。
  4. Follower从Leader中读取消息,完成备份操作。
  5. Follower写入本地Log文件后,会向Leader发送Ack,每次发送消息都会有一个确认反馈机制,以确保消息正常送达。
  6. Leader收到所有Follower发送的Ack后,向Producer发送Ack,生产消息完成。
2. 消费者消费消息过程

Kafka采用拉取模型,由消费者记录消费状态,根据主题、Zookeeper集群地址和要消费消息的偏移量,每个消费者互相独立地按顺序读取每个分区的消息,消费者消费消息的流程图如下所示。

image.png

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前标题:Kafka工作流程简介-创新互联
网页网址:http://kswjz.com/article/diipcd.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流