[发明专利]微服务集群中更新通知方法及装置在审
申请号: | 202110520630.1 | 申请日: | 2021-05-13 |
公开(公告)号: | CN113138995A | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 关海超;夏龙飞;颜高飞;张远征 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F9/54 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;王涛 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 微服 集群 更新 通知 方法 装置 | ||
本发明提供了一种微服务集群中更新通知方法及装置,可用于金融领域或其他领域。所述方法包括:根据从服务端接收到的数据更新信息,生成数据更新通知,并根据所述数据更新信息,确定与所述数据更新信息对应的订阅者集合;根据预设的分批通知数量以及所述订阅者集合中的订阅者个数,确定每批通知订阅者数量;根据预设的分批间隔时长以及所述每批通知订阅者数量,向所述订阅者集合中各订阅者发送所述数据更新通知。本发明通过确定订阅者集合进行分批通知的方式,可以有效避免服务端在数据更新后,立即处理大量来自消费方的建连请求,有效降低服务端的TCP队列溢出次数和CPU的使用率,保证业务交易的平稳。
技术领域
本发明涉及微服务集群技术领域,尤指一种微服务集群中更新通知方法及装置。
背景技术
目前的分布式微服务集群大多通过RPC框架通信,主流的RPC框架都基于注册中心做服务发现,以广泛使用的Dubbo框架为例,它最常使用的注册中心为Zookeeper。
当集群规模较大时,Consumer的数量可能高达数千甚至数万个,当Provider发生数据更新时,ZooKeeper借助Watch机制将数据变更通知给Consumer。Consumer集群几乎同时收到Zookeeper推送过来的数据变更通知,然后又同时向Provider发起建立TCP连接的请求,给Provider和集群网络带来很大压力,极易引发连接风暴,影响业务交易的成功率。
发明内容
针对现有技术中存在的问题,本发明实施例的主要目的在于提供一种微服务集群中更新通知方法及装置,实现简单且实施成本低的数据更新通知,能够有效减少微服务集群连接风暴。
为了实现上述目的,本发明实施例提供一种微服务集群中更新通知方法,所述方法包括:
根据从服务端接收到的数据更新信息,生成数据更新通知,并根据所述数据更新信息,确定与所述数据更新信息对应的订阅者集合;
根据预设的分批通知数量以及所述订阅者集合中的订阅者个数,确定每批通知订阅者数量;
根据预设的分批间隔时长以及所述每批通知订阅者数量,向所述订阅者集合中各订阅者发送所述数据更新通知。
可选的,在本发明一实施例中,所述根据从服务端接收到的数据更新信息,生成数据更新通知,并根据所述数据更新信息,确定与所述数据更新信息对应的订阅者集合包括:
根据所述服务端的ip地址、端口号及时间戳,从所述服务端接收数据更新信息;其中,所述数据更新信息包括服务名及版本号;
根据所述服务名及所述版本号,生成所述数据更新通知,并确定与所述服务名对应的订阅者集合。
可选的,在本发明一实施例中,所述根据预设的分批通知数量以及所述订阅者集合中的订阅者个数,确定每批通知订阅者数量包括:
计算所述订阅者集合中的订阅者个数与预设的分批通知数量的比值,将所述比值作为所述每批通知订阅者数量。
可选的,在本发明一实施例中,所述根据预设的分批间隔时长以及所述每批通知订阅者数量,向所述订阅者集合中各订阅者发送所述数据更新通知包括:
对所述订阅者集合中的订阅者进行随机排序,从随机排序后的订阅者中顺序选取N个第一批订阅者,并向所述第一批订阅者发送所述数据更新通知;其中,N等于所述每批通知订阅者数量;
在等待所述分批间隔时长后,从除去所述第一批订阅者后的订阅者集合中,顺序选取N个第二批订阅者进行数据更新通知发送,直至完成向所述订阅者集合中所有订阅者数据更新通知发送。
本发明实施例还提供一种微服务集群中更新通知装置,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110520630.1/2.html,转载请声明来源钻瓜专利网。