JAVA学习实战(六)Kafka简介

Apache Kafka是一个消息系统用作解决数据处理管道以及活动流的基础,现在已经被越来越多的公司用作多种类型的数据管道和消息系统使用
活动流是所有网站做报表的时候最常规的部分,其包括页面的访问量,被查看内容方面的信息以及搜索情况等内容,这种数据通常的处理方式是先把各种活动存储为日志的形式,然后定期进行离线统计

关于Kafka主要介绍四个概念
1.生产者和消费者
这个很好理解,kafka其实就是一个管道,生产者创建消息,消费者接受消息
2.主题和分区
这个其实也不算难理解吧,主题就是对于不同的主主题的消息各自设置一个管道,因为总不可能所有数据都放在一起吧,分类相对来讲有很多优点,分区的话其实就是对于同一个主题的管道来说,如果当前数据量太大不能够容纳数据,那么多加一个相同类型的管道进行扩展

我们使用一个生活中的例子来说明:现在 A 城市生产的某商品需要运输到 B 城市,走的是公路,那么单通道的高速公路不论是在「A
城市商品增多」还是「现在 C 城市也要往 B
城市运输东西」这样的情况下都会出现「吞吐量不足」的问题。所以我们现在引入分区(Partition)的概念,类似“允许多修几条道”的方式对我们的主题完成了水平扩展。

3.Broker和Cluster

Broker是kafka的服务器,他接受生产者的消息并存入磁盘,broker同时回服务消费者拉取分区消息的请求,返回目前已经提交的消息。一个broker每秒可以处理百万级的消息

如果若干个broker组成集群,则还是分布式的基操了,一个broker称为集群控制器负责管理集群,一个分区由一个broker负责,这个broker也成为这个分区的leader,一个分区可以被复制到多个broker中实现冗余

4.多集群
多集群的主要原因
数据的隔离,安全的隔离,构建多数据中心以实现容灾
其中多数检查中心往往需要消息互通
多个kafka集群之间的消息同步可以使用Kafka的工具MirrorMaker工具,本质上来说MirrorMaker只是一个kafka的生产者和消费者并使用队列进行连接罢了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会说话的皮卡丘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值