栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021-10-19

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-19

Kafka

Kafka是由Apache软件基金会开发的一个开源流处理平台,有Scala和Java编写。Kafka是一个分布式的、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式发布订阅消息系统,他的最大特征就是可以实时的处理大量数据以满足各种需求场景。

Kafka特性:
  • 高吞吐、低延迟:Kafka每秒可以处理几十万的数据,他的延迟最低只有几毫秒
  • 可扩展:Kafka集群支持热扩展
  • 持久性、可靠性:消息被持久化到本地磁盘,并且支持备份以防止数据丢失
  • 容错性:允许集群中节点故障(若副本为n,允许n-1个节点故障)
  • 高并发:支持数千个客户端同时读写
相关术语:

broker: Kafka集群中包含一个或者多个服务器,这种服务器成为broker,也可以叫做缓存代理。
topic:可以理解为一个MQ消息队列,是Kafka数据写入操作的基本单元,可以指定副本。一个非常大的topic可以分布到多个broker上。一个topic可以包含一个或者多个partition。
partition:称为分区。partition是最小的存储单元。物理上的partition对应的是一个文件夹。partition可以分成leader(主)和flower(副本),一个partition只有一个leader,可以有多个flower。
producer:生产者,向Kafka集群中发布消息,在发送消息之前,会对消息进行分类,即topic。
consumer:消费者,消费者通过与Kafka集群建立长连接的方式,不断地从集群中拉取消息,然后可以对这些消息进行处理。

消息传递模式

1.点对点模式
在点对点消息系统中,消息持久化一个队列中。将有一个或多个消费者消费队列中的数据。但是一条消息只能被消费一次。数据被消费之后,该条数据则从消息队列中删除。

生产者发送一条消息到queue,只有一个消费者能收到。他们之间实现了可靠的负载均衡。

2.发布-订阅模式
在发布-订阅消息传递模式中,消息被持久化到一个topic中。消费者可以订阅一个或者多个topic,消费者可以消费该topic中所有的数据,同一条数据可以被多个消费者消费,数据消费后不会立马删除。在这种模式下,消息的生产者成为发布者,消息的消费者成为订阅者。

发布者发送到topic的消息,只有订阅了topic的订阅者才会收到消息。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/340468.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号