一种基于kafka的批量下发消息的方法与流程
未命名
09-13
阅读:67
评论:0

一种基于kafka的批量下发消息的方法
【技术领域】
1.本发明涉及流媒体技术领域,尤其是一种基于kafka的批量下发消息的方法。
背景技术:
2.kafka是一种高吞吐量的分布式发布订阅消息的系统,常被用作于两个系统之间的通信方式,这样两个系统之间就不需要相互依赖,每次发完消息到kafka之后立即返回,无需等待。当流量特别大的时候,消息还可以在队列中排队,减轻服务器的请求。
3.例如,群发消息时服务器发送到kafka消息内容对于每个客户端来说是一样的;假设有100w个客户端,需要发送内容相同条消息,就要往kafka里面发送100w条消息,十分浪费资源,增加了kafka的压力。
4.因此,现有kafka发送消息存在对于服务器需要发送的消息内容,对于大部分客户端都是一样的,一条条消息发到kafka再发到客户端,十分耗费资源,增加了kafka的压力;所以,有必要提出一种发送到kafka的消息方法,提高kafka的吞吐量。
技术实现要素:
5.本发明实施例提供一种基于kafka的批量下发消息的方法,减少发送到kafka里面的消息量,提高kafka的吞吐量。
6.本发明至少一个实施例采用如下的技术方案:
7.本发明实施例提供一种基于kafka的批量下发消息的方法,批量下发消息的格式包括这条消息的客户端数量sn_num、每个客户端的唯一标识sni(i=1、2、3
……
n)、后台业务的服务类型及唯一标识每一个后台业务服务器service type、标识每条消息类型msg type和实际要发送的消息内容protobufdata,该方法包括以下步骤:
8.步骤s1,服务器将同条消息的客户端sn,以“/n”为分割符拼接在一起,将sn数量写入sn_num,并按以上消息格式发送到解析服务;
9.步骤s2,解析服务先按照sn_num解析出所有需要发送的客户端;
10.步骤s3,然后,再把后台业务的服务类型及唯一标识每一个后台业务服务器service type、标识每条消息类型msg type、实际要发送的消息内容protobuf data,三个字段组成一条消息发送到每一个客户端;
11.步骤s4,后台服务器只需要发送一条消息给解析服务,解析服务对消息进行解析再发送给客户端。
12.本发明至少一个实施例或至少一个技术方案的优点如下:
13.本发明中,把后台业务的服务类型及唯一标识每一个后台业务服务器service type、标识每条消息类型msg type、实际要发送的消息内容protobufdata,三个字段组成一条消息发送到每一个客户端,这样,后台业务器只需发送一条消息到解析服务,解析服务进行解析再发送给客户端,大大减轻了消息队列的压力。
14.【说明书附图】
15.图1为本发明实施例中批量下发消息格式的示意图。
【具体实施方式】
16.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
17.下面结合附图通过具体实例对本发明的内容作进一步的说明。
18.一种基于kafka的批量下发消息的方法,如图1所示,该批量下发消息的格式包括这条消息的客户端数量sn_num、每个客户端的唯一标识sni(i=1、2、3
……
n)、后台业务的服务类型及唯一标识每一个后台业务服务器service type、标识每条消息类型msg type和实际要发送的消息内容protobufdata,该方法包括以下步骤:
19.步骤s1,服务器将同条消息的客户端sn,以“/n”为分割符拼接在一起,将sn数量写入sn_num,并按以上消息格式发送到解析服务;
20.步骤s2,解析服务先按照sn_num解析出所有需要发送的客户端;
21.步骤s3,然后,再把后台业务的服务类型及唯一标识每一个后台业务服务器service type、标识每条消息类型msg type、实际要发送的消息内容protobuf data,三个字段组成一条消息发送到每一个客户端;
22.步骤s4,这样,后台服务器只需要发送一条消息给解析服务,解析服务对消息进行解析再发送给客户端,大大减轻了消息队列的压力。
23.其中,该批量下发消息中,采用实际要发送的消息内容protobuf data,其引用protobuf传输效率快,序列化后体积相比json和xml很小,支持跨平台多语言,消息格式升级和兼容性还不错,序列化反序列化速度很快。
24.以上所述实施例只是为本发明的较佳实施例,并非以此限制本发明的实施范围,除了具体实施例中列举的情况外;凡依本发明之方法及原理所作的等效变化,均应涵盖于本发明的保护范围内。
技术特征:
1.一种基于kafka的批量下发消息的方法,批量下发消息的格式包括这条消息的客户端数量sn_num、每个客户端的唯一标识sni(i=1、2、3
……
n)、后台业务的服务类型及唯一标识每一个后台业务服务器service type、标识每条消息类型msg type和实际要发送的消息内容protobuf data,其特征在于,该方法包括以下步骤:步骤s1,服务器将同条消息的客户端sn,以“/n”为分割符拼接在一起,将sn数量写入sn_num,并按以上消息格式发送到解析服务;步骤s2,解析服务先按照sn_num解析出所有需要发送的客户端;步骤s3,然后,再把后台业务的服务类型及唯一标识每一个后台业务服务器service type、标识每条消息类型msg type、实际要发送的消息内容protobuf data,三个字段组成一条消息发送到每一个客户端;步骤s4,后台服务器只需要发送一条消息给解析服务,解析服务对消息进行解析再发送给客户端。
技术总结
本发明提供的一种基于kafka的批量下发消息的方法,包括以下步骤:步骤S1,服务器将同条消息的客户端sn,以“/n”为分割符拼接在一起,将sn数量写入sn_num,并按以上消息格式发送到解析服务;步骤S2,解析服务先按照sn_num解析出所有需要发送的客户端;步骤S3,然后,再把后台业务的服务类型及唯一标识每一个后台业务服务器service type、标识每条消息类型msg type、实际要发送的消息内容protobuf data,三个字段组成一条消息发送到每一个客户端;步骤S4,后台服务器只需要发送一条消息给解析服务,解析服务对消息进行解析再发送给客户端,大大减轻了消息队列的压力。大大减轻了消息队列的压力。大大减轻了消息队列的压力。
技术研发人员:谭龙根 杨坚 李淼
受保护的技术使用者:珠海迈科智能科技股份有限公司
技术研发日:2023.06.09
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种便于装卸的保护装置的制作方法 下一篇:高压导线感应取电障碍灯的制作方法