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

消息中间件的区别(消息中间件消息丢失怎么办)

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

消息中间件的区别(消息中间件消息丢失怎么办)

消息中间件Kafka

今天来讲讲消息中间件Kafka,一般面试都会问到

Kafka
Kafka只支持集群部署,运行在一台或多台服务器上面。Kafka通过topic对存储的数据进行分类,每条记录中包含一个key,一个value和一个timestamp时间戳。

Kafka常用的名词
Broker:kafka节点,一个kafka节点就是一个broker,多个broker可以组成一个kafka集群。

Topic:消息存放的目录即主题,例如page view日志,click日志等都可以以topic的形式存在,Kafka集群能够同时负责多个topic的分发。

Massage:Kafka中最基本的传递对象。

Partition(分区):topic物理上的分区,一个topic可以分为多个分区,每个分区是一个有序的队列,每个分区都会在服务器上备份,确保容错性。

Segment:partition物理上由多个segment组成,每个Segment存着message信息。

Producer:生产者,生产message发送到topic。

Consumer:消费者,订阅topic并消费message,consumer作为一个线程来消费。

Consumer Group:消费者组,一个Consumer Group 包含多个Consumer。

Offset:偏移量,表示消息在分区中的唯一ID.

Kafka原理
Kafka的一个topic可以拥有一个或者多个消费者来订阅它的数据,对于每个topic,kafka的集群都会维护一个分区日志。
每个分区都是有序且顺序不可变的记录着,Kafka会保留所有的发布记录到commit.log文件,无论他们是否已被消费(可通过参数配置保留时间),kafka的性能和数据的大小无关,分区中的每一条记录都会分配一个ID号来维护顺序,我们称为offset.
offset由消费者控制,消费者可以采取任何顺序来消费记录,也就是说,消费者可以将offset重置到过去的一个位置,从而从新处理过去的数据,也可以跳过最近的记录,从现在开始消费。
每个分区都会有一台server作为leader,0台或多台server作为"follwers",leader处理所有的读写请求,而follwer只会被动的同步leader上的数据,当leader宕机后,follwer自动会进行选主,每一台server都有可能成为某些分区的leader同时又是某些分区的follwer,因此集群是负载均衡的。

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

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

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