[发明专利]一种面向微服务治理的数据发布-订阅方法和系统有效
申请号: | 202011578199.8 | 申请日: | 2020-12-28 |
公开(公告)号: | CN112751916B | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 黄涛;唐震;王伟;魏峻;李慧;张舒扬;宋傲 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | H04L67/10 | 分类号: | H04L67/10;H04L67/1001;G06F9/50;H04L67/63;H04L67/141 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 邱晓锋 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 微服 治理 数据 发布 订阅 方法 系统 | ||
本发明涉及软件技术领域,尤其涉及一种面向微服务治理的数据发布‑订阅方法和系统。本发明的主要内容包括:客户端向某一个主题发布数据时,将待发布数据封装至数据发布请求中,并发送至数据发布服务器集群的任意一个节点,该节点解析出待发布数据并将其转发至数据发布服务器节点;数据发布服务器节点将接收到的数据连同客户端转发地址列表发送至订阅该数据所属主题的某一个客户端;该客户端收到数据及客户端转发地址列表后,将接收到的数据存入本地存储系统并开始协助数据发布服务器节点进行消息转发,转发的目标地址为客户端转发地址列表内的所有地址。本发明能够解决大规模微服务治理中数据发布订阅的性能问题,并保证数据发布订阅的可靠性。
技术领域
本发明涉及软件技术领域,尤其涉及一种面向微服务治理的数据发布-订阅方法和系统。
背景技术
云计算技术已经被广泛应用于支撑大规模微服务系统的部署和管理。当前,借助于虚拟化和容器等基于云计算的技术体系,大型云服务提供商的数据中心集群内的微服务实例规模急剧增长,单个数据中心集群内部署的实例数量已经达到万量级,未来将达到十万甚至百万量级以上的极端规模。微服务的注册发现、配置管理、健康检查等微服务治理的关键需求在面向上述极端规模微服务集群的场景下面临诸多新问题,带来了许多技术挑战。
发布-订阅(Publish-Subscribe)模型是应对上述关键需求的一种常见模型,在目前的实际系统中使用较为广泛。例如:在微服务的配置管理需求下,向微服务实例发布该实例订阅的配置数据实现服务运行时动态配置更改;微服务提供者由于业务需要进行扩容或缩容时向微服务调用(订阅)者发布最新的服务列表,从而在运行时动态改变服务调用关系;在使用部分服务实例执行多阶段的灰度测试时,需要发布标签数据从而控制测试范围等等。
上述这些微服务治理的典型场景都依赖高效、可靠、可扩展的数据发布-订阅模型及机制,解决发布-订阅系统在极端规模服务实例场景下的性能、可靠性和可扩展性问题也因此成为支撑极端规模微服务实例有效管理的热点问题。
以一个典型的极端规模服务实例环境为例,该环境中的典型数据发布-订阅场景如图1所示,大量的数据更新请求首先到达数据发布者集群(图1左侧),集群会将更新数据发布至订阅了这一数据的实例;在服务实例端(图1右侧),应该确保全部或绝大部分实例得到正确且完整的数据。在此场景下,数据发布机制面临发布时延(性能)、发布成功率(可靠性)、数据发布者集群最大可承受负载(可扩展性)等复杂的服务质量需求(Service-LevelAgreement,SLA)挑战,具体如下:
1)极端规模场景下的数据发布-订阅依赖于分布式的数据发布系统,系统的扩展性与数据发布时延存在矛盾。数据发布服务器间的通信和数据同步开销随着集群规模的提升而急剧增大,导致数据发布平均时延难以保障。数据发布时延的不稳定性将导致数据发布需求未能有效保障,从而导致系统错误、过载甚至崩溃。同时,服务器间的负载上下限差异过大,任务负载分配不均,导致性能问题难以简单通过增大集群规模解决。当前急需引入一种数据发布服务器集群内的负载均衡机制,保证数据发布的负载在不同的数据发布服务器之间的平衡,避免造成数据发布者集群的扩展性与数据发布时延的矛盾。
2)在极端规模场景下,微服务实例失效和数据发布服务器失效问题更为普遍,在提供扩展性保障的前提下,需要及时识别并隔离失效的服务实例和数据发布服务器实例。首先,节点失效或网络不可达这一小概率事件在大规模实例场景下更易发生;其次,多地多数据中心的集群部署方式会由于链路故障而导致网络分区。上述原因导致的实例失效如果在数据发布过程中未能有效识别与隔离,将直接影响数据发布效率,失效实例也将使用不一致、甚至是错误的数据,从而影响整个系统的正确性。例如,特定业务的服务实例订阅的某公共微服务的IP地址发生变化,这一数据更新需要被快速发布至集群中的可达节点,若集群中存在未能检测到的失效节点,数据发布性能可能因为向不可达节点反复重试而降低,失效节点恢复后也难以得到正确数据,用户的访问请求可能会被路由到错误IP而导致超时、甚至返回错误结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011578199.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置