首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

银行系统中的消息分发利器Kafka(二)

Kafka里有一些重要的概念:

下面我们来一一解释一下:

1、Producer

前面已经介绍过,Producer是向Kafka传递数据的Application。

这里需要说明的是,Producer向Kafka传递的数据是一个一个小的消息数据(可能就数个字节),而不是一个很大的数据文件。

比如我们要把一个文件传递给Kafka,我们首先创建一个Producer,然后通过Producer将文件中的每一行数据作为一个消息发给Kafka,这样文件里的信息就都传递给Kafka了,但每个消息可能只有数个字节。

再比如我们想把一个数据表的查询结果给Kafka,那我就先做一个表查询,然后把查询到的每一行查询结果,作为一个消息送给Kafka。

2、Consumer

Consumer是从Kafka获取数据的Application。

Producer提供数据,Consumer获取数据,这就是一个闭环的流程。但需要注意的是,Producer并不是把数据直接送到Consumer的地址,而是先送到Kafka存下来,而Consumer作为获取方也是从Kafka拿数据。而且Consumer可以从Kafka获取到任何Producer产生的数据。(注:当然,Kafka内是有授权管理的,Consumer只能获取到它有权访问的数据)

好,综合起来看一下:

如果我们有一个文件要分发,那第一步是通过Producer将文件中的数据发送给Kafka存起来,第二步是Consumer向Kafka发送获取数据的请求(request),然后Kafka会根据Consumer的请求向Consumer传递它所要的数据(注:上面讲过,这些数据都是每一个数个字节大小的消息数据)。第三步Consumer会针对拿到的数据进行接下来的处理,同时,如有需要,会进一步request更多消息数据。

3、Broker

Broker就是一个Kafka Server的学名~

这个名字也是很贴切的,因为Kafka所扮演的角色就是一个Producer和Consumer之间的Broker(消息中介)。Producer和Consumer并不直接通讯,而是靠这个“中介”交换信息。

4、Cluster

Cluster就是集群,在分布式架构中,集群是很多负责同样事务的服务器的统称。Kafka采用的就是分布式架构,所以里面会有很多的Broker,他们组成了Cluster。

5、Topic

这个比较有意思,咱们来模拟一下当Consumer向Kafka Broker获取数据时的情景:

Consumer:你能给我一些消息数据么?

Broker:我从n多的Producer那里收集数据,你要哪个数据?

Consumer:你给我3号Producer的数据吧……

Broker:3号Producer给了我3种不同的数据哦,你要哪一种??

Consumer:给我销售数据吧……

Broker:呃,除了3号Producer,还有两个Producer也给了我销售数据,你要么?

Consumer:

于是Topic就出现了。在Kafka中,Topic就是用来定位数据的,是一类数据的名字。

比如我们建立一个叫做GlobalOrders的Topic,这时我们有很多销售网点要把Order数据送给Kafka,不同的销售网点就是一个Producer。那我们就把这些Producer的数据都标记为GlobalOrders数据,当Consumer来调用时,只要高速Broker我要GlobalOrders数据,就可以把这个类型的数据都拿到了。

总结一下,这次我们介绍了Kafka的Producer、Consumer、Broker、Cluster、Topic。下次再进一步介绍剩下的概念。

保护原创,未经许可禁止通过自媒体刊载,已委托“维权骑士”(rightknights.com)为文章进行维权行动~分享到您的朋友圈才是义举哦~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190113G0LKXC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券