愚公系列2022年03月 .NET架构班 025-分布式中间件 Kafka介绍

网友投稿 544 2022-05-28

一、Kafka简介

Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。

Kafka的特点有:

同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)

可进行持久化操作。将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。通过将数据持久化到硬盘以及replication防止数据丢失

分布式系统,易于向外扩展。所有的producer、broker和consumer都会有多个,均为分布式的。无需停机即可扩展机器

消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡。

支持online和offline的场景

二、Kafka使用场景

三、Kafka相关名称介绍

下面是kafka集群通信图:

是不是和MQTT协议很像,其实原理都一样。

1.Topic

特指Kafka处理的消息源(feeds of messages)的不同分类。

2.Partition

Topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列。partition中的每条消息都会被分配一个有序的id(offset)。

3.Message

消息,是通信的基本单位,每个producer可以向一个topic(主题)发布一些消息。

4.Producers

【愚公系列】2022年03月 .NET架构班 025-分布式中间件 Kafka介绍

消息和数据生产者,向Kafka的一个topic发布消息的过程叫做producers。

5.Consumers

消息和数据消费者,订阅topics并处理其发布的消息的过程叫做consumers。

6.Broker

缓存代理,Kafka集群中的一台或多台服务器统称为broker。

.NET Kafka 分布式

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Java编程创造营】第三阶段最终积分排行榜和最终考核成绩公示!
下一篇:ros安装解决rosdep init err本地方案
相关文章