CN115277695A - 一种实现跨区域生产和消费事件的方法 - Google Patents
一种实现跨区域生产和消费事件的方法 Download PDFInfo
- Publication number
- CN115277695A CN115277695A CN202210818585.2A CN202210818585A CN115277695A CN 115277695 A CN115277695 A CN 115277695A CN 202210818585 A CN202210818585 A CN 202210818585A CN 115277695 A CN115277695 A CN 115277695A
- Authority
- CN
- China
- Prior art keywords
- event
- events
- cluster
- production
- consumers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000007726 management method Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000008275 binding mechanism Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种实现跨区域生产和消费事件的方法,涉及云计算通信技术领域;通过natsserver将云平台部署架构下不同区域中的nats集群联合形成nats超级集群,利用所述nats超级集群作为不同区域集群knativeeventing系统的共同事件管道,通过所述共同事件管道进行跨区域集群中事件的生产和消费,包括:不同区域集群knative eventing系统的生产者通过所述共同事件管道将事件广播至各个区域中的订阅所述事件的多个消费者,不同区域集群knative eventing系统的消费者通过所述共同事件管道订阅到多个区域中生产所述事件的生产者;同时允许单向通信的区域环境,利用natsserver的叶节点集群与其他区域或管理侧进行事件的发布和订阅。
Description
技术领域
本发明公开一种方法,涉及云计算通信技术领域,具体地说是一种实现跨区域生产和消费事件的方法。
背景技术
随着云计算、数字化转型的普及以及云平台上海量云原生应用的部署,越来越多的应用之间的通信需求通过事件驱动的机制传递消息/事件。但是在大型生产环境或商业应用环境,出于高可用以及容灾的需求,云平台部署架构通常选择两地三中心或类似的多区域部署的架构,在此部署架构下,多个区域中运行多个相同或类似的集群,多个集群彼此之间存在全局生产者、全局消费者的场景,但目前全局生产者、全局消费者进行跨区事件生产和消费时并不顺畅。
发明内容
本发明针对现有技术的问题,提供一种实现跨区域生产和消费事件的方法,实现应用方无感知,不需要改动就能满足全局生产者和全局消费者的需求,完成同一个集群上生产者和消费者的事件流转以及跨集群的事件流转。
本发明提出的具体方案是:
本发明提供一种实现跨区域生产和消费事件的方法,通过natsserver将云平台部署架构下不同区域中的nats集群联合形成nats超级集群,利用所述nats超级集群作为不同区域集群knative eventing系统的共同事件管道,
通过所述共同事件管道进行跨区域集群中事件的生产和消费,包括:不同区域集群knative eventing系统的生产者通过所述共同事件管道将事件广播至各个区域中的订阅所述事件的多个消费者,
不同区域集群knative eventing系统的消费者通过所述共同事件管道订阅到多个区域中生产所述事件的生产者;
同时允许单向通信的区域环境,利用natsserver的叶节点集群与其他区域或管理侧进行事件的发布和订阅。
进一步,所述的一种实现跨区域生产和消费事件的方法中所述生产者通过所述共同事件管道将事件广播至各个区域中的订阅所述事件的多个消费者,包括:
某一个区域上生产者发布共享事件,被本区域内的消费者消费;
某一个区域上生产者发布共享事件,被其他任何区域的消费者消费;
多个区域上生产者发布某一类事件,被某一个区域上的消费者消费。
进一步,所述的一种实现跨区域生产和消费事件的方法中基于knative eventing系统,通过生产者生产的事件利用sinkbinding机制或直接调用brokerurl的方式发送至Eventing代理,通过Eventing为事件传递提供触发器,事件进入代理后,使用触发器将事件转发给消费者。
进一步,所述的一种实现跨区域生产和消费事件的方法中所述通过触发器按属性过滤事件,将具有特定属性的事件发送给对所述特定属性的事件感兴趣的消费者。
进一步,所述的一种实现跨区域生产和消费事件的方法中基于knative eventing系统,通过消费者回复来自Eventing代理的活动请求,使用CloudEvent响应Eventing代理。
本发明还提供一种实现跨区域生产和消费事件的装置,包括事件管道管理模块及事件生产和消费模块,
事件管道管理模块通过natsserver将云平台部署架构下不同区域中的nats集群联合形成nats超级集群,利用所述nats超级集群作为不同区域集群knative eventing系统的共同事件管道,
事件生产和消费模块通过所述共同事件管道进行跨区域集群中事件的生产和消费,包括:将不同区域集群knative eventing系统的生产者的事件通过所述共同事件管道广播至各个区域中的订阅所述事件的多个消费者,
将不同区域集群knative eventing系统的消费者通过所述共同事件管道订阅到多个区域中生产所述事件的生产者;
同时允许单向通信的区域环境,利用natsserver的叶节点集群与其他区域或管理侧进行事件的发布和订阅。
进一步,所述的一种实现跨区域生产和消费事件的装置中所述事件生产和消费模块通过所述共同事件管道将生产者的事件广播至各个区域中的订阅所述事件的多个消费者,包括:
某一个区域上生产者发布共享事件,被本区域内的消费者消费;
某一个区域上生产者发布共享事件,被其他任何区域的消费者消费;
多个区域上生产者发布某一类事件,被某一个区域上的消费者消费。
进一步,所述的一种实现跨区域生产和消费事件的装置中基于knative eventing系统,事件生产和消费模块将生产者生产的事件利用sinkbinding机制或直接调用brokerurl的方式发送至Eventing代理,通过Eventing为事件传递提供触发器,事件进入代理后,使用触发器将事件转发给消费者。
进一步,所述的一种实现跨区域生产和消费事件的装置中所述事件生产和消费模块通过触发器按属性过滤事件,将具有特定属性的事件发送给对所述特定属性的事件感兴趣的消费者。
进一步,所述的一种实现跨区域生产和消费事件的装置中基于knative eventing系统,事件生产和消费模块将消费者回复来自Eventing代理的活动请求,使用CloudEvent响应Eventing代理。
本发明的有益之处是:
本发明提供一种实现跨区域生产和消费事件的方法,解决了目前knativeeventing只能单个集群使用的痛点。而在真实的生产环境有高可用诉求的环境中能够进行跨region的事件流转。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中knative架构事件的生成和消费过程示意图。
图2是本发明方法中超级集群的架构示意图。
图3是本发明方法中不同区域集群通过共同事件管道连接示意图。
具体实施方式
本发明涉及的名词解释:
knative:开源的serverless架构方案,旨在提供一套简单易用的serverless方案,把serverless标准化。
Eventing:knative架构中的事件系统,用来自动完成事件的绑定和触发。
nats:是一个简单、高性能的开源消息系统,用于云原生应用程序、IoT消息传递和微服务架构。
事件生产者:产生、发布事件的一方,通常生产者产生的事件符合通过格式,以便于各类消费者消费。
事件消费者:消费、订阅事件的一方,按照通用格式,根据事件中的信息进行业务处理。
knative eventing语境下云原生方式使用的一些术语,见表1。
表1
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明提供一种实现跨区域生产和消费事件的方法,通过natsserver将云平台部署架构下不同区域中的nats集群联合形成nats超级集群,利用所述nats超级集群作为不同区域集群knative eventing系统的共同事件管道,
通过所述共同事件管道进行跨区域集群中事件的生产和消费,包括:不同区域集群knative eventing系统的生产者通过所述共同事件管道将事件广播至各个区域中的订阅所述事件的多个消费者,
不同区域集群knative eventing系统的消费者通过所述共同事件管道订阅到多个区域中生产所述事件的生产者;
同时允许单向通信的区域环境,利用natsserver的叶节点集群与其他区域或管理侧进行事件的发布和订阅。
具体应用中,在本发明方法的一些实施例中,
通过所述共同事件管道nats-jetstream-channel进行跨区域集群中事件的生产和消费,包括:不同区域集群knative eventing系统的生产者通过所述共同事件管道nats-jetstream-channel将事件广播至各个区域中的订阅所述事件的多个消费者,其中进一步包括:
某一个区域上生产者发布共享事件,被本区域内的消费者消费;
某一个区域上生产者发布共享事件,被其他任何区域的消费者消费;
多个区域上生产者发布某一类事件,被某一个区域上的消费者消费。
不同区域集群knative eventing系统的消费者通过所述共同事件管道nats-jetstream-channel订阅到多个区域中生产所述事件的生产者。
同时允许单向通信的区域环境,利用natsserver的叶节点集群与其他区域或管理侧进行事件的发布和订阅,其中部署nats-jetstream-channel时利用nats支持的超级集群概念的全局拓扑能力,超级集群功能与本发明跨区域部署架构吻合。Nats超级集群原理上在路由客户端时,首选本地客户端,使用往返延迟时间(RTT)来查找超级集群中延迟最低的NATS集群,在服务中断的情况下,流量会在区域集群之间自动路由,从而无需额外配置实现灾难恢复。也可以用图2中的叶节点集群实现星型拓扑,叶节点集群透明、安全地在特定的本地数据和全局NATS部署之间建立桥接,并可用于边缘计算或物联网应用程序。多个region中的natsserver以及边缘节点上natsserver组成的超级集群利用nats-jetstream-channel的上述能力解决之前单nats-channel解决不了的问题,实现基于knative和nats的跨区域生产和消费事件。
全局生产者即生产者部署在某个集群,但是生产的事件需要被所有区域的订阅该类事件的消费者消费;全局消费者即消费者部署在某个集群,但是该消费者需要消费所有区域上该类事件。
本发明方法中全局事件生产者同样通过nats-jetstream-channel将事件广播至各个区域中的订阅本事件的多个消费者,全局事件消费者同样通过nats-jetstream-channel订阅到多个区域中生产该类事件的生产者。
而基于knative eventing系统,通过生产者生产的事件利用sinkbinding机制或直接调用brokerurl的方式发送至Eventing代理,通过Eventing为事件传递提供触发器,事件进入代理后,使用触发器将事件转发给消费者。其中代理是Kubernetes的自定义资源,用于定义事件网格以收集CloudEvents池。代理的status.address为事件传递提供了触发器。事件生产者可以通过将事件发布到代理从而将事件发送到status.address.url。事件进入status.address.url代理后,可以使用触发器将其转发给消费者。利用触发器可以按属性过滤事件,以便将具有特定属性的事件发送给对此特殊属性的事件感兴趣的消费者。
基于knative eventing系统,通过消费者回复来自Eventing代理的活动请求,使用CloudEvent响应Eventing代理。
本发明还提供一种实现跨区域生产和消费事件的装置,包括事件管道管理模块及事件生产和消费模块,
事件管道管理模块通过natsserver将云平台部署架构下不同区域中的nats集群联合形成nats超级集群,利用所述nats超级集群作为不同区域集群knative eventing系统的共同事件管道,
事件生产和消费模块通过所述共同事件管道进行跨区域集群中事件的生产和消费,包括:将不同区域集群knative eventing系统的生产者的事件通过所述共同事件管道广播至各个区域中的订阅所述事件的多个消费者,
将不同区域集群knative eventing系统的消费者通过所述共同事件管道订阅到多个区域中生产所述事件的生产者;
同时允许单向通信的区域环境,利用natsserver的叶节点集群与其他区域或管理侧进行事件的发布和订阅。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
同样地,本发明装置解决了目前knativeeventing只能单个集群使用的痛点。而在真实的生产环境有高可用诉求的环境中能够进行跨region的事件流转。
需要说明的是,上述各流程和各装置结构中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (10)
1.一种实现跨区域生产和消费事件的方法,其特征是通过natsserver将云平台部署架构下不同区域中的nats集群联合形成nats超级集群,利用所述nats超级集群作为不同区域集群knative eventing系统的共同事件管道,
通过所述共同事件管道进行跨区域集群中事件的生产和消费,包括:不同区域集群knative eventing系统的生产者通过所述共同事件管道将事件广播至各个区域中的订阅所述事件的多个消费者,
不同区域集群knative eventing系统的消费者通过所述共同事件管道订阅到多个区域中生产所述事件的生产者;
同时允许单向通信的区域环境,利用natsserver的叶节点集群与其他区域或管理侧进行事件的发布和订阅。
2.根据权利要求1所述的一种实现跨区域生产和消费事件的方法,其特征是所述生产者通过所述共同事件管道将事件广播至各个区域中的订阅所述事件的多个消费者,包括:
某一个区域上生产者发布共享事件,被本区域内的消费者消费;
某一个区域上生产者发布共享事件,被其他任何区域的消费者消费;
多个区域上生产者发布某一类事件,被某一个区域上的消费者消费。
3.根据权利要求1或2所述的一种实现跨区域生产和消费事件的方法,其特征是基于knative eventing系统,通过生产者生产的事件利用sinkbinding机制或直接调用brokerurl的方式发送至Eventing代理,通过Eventing为事件传递提供触发器,事件进入代理后,使用触发器将事件转发给消费者。
4.根据权利要求3所述的一种实现跨区域生产和消费事件的方法,其特征是所述通过触发器按属性过滤事件,将具有特定属性的事件发送给对所述特定属性的事件感兴趣的消费者。
5.根据权利要求1所述的一种实现跨区域生产和消费事件的方法,其特征是基于knative eventing系统,通过消费者回复来自Eventing代理的活动请求,使用CloudEvent响应Eventing代理。
6.一种实现跨区域生产和消费事件的装置,其特征是包括事件管道管理模块及事件生产和消费模块,
事件管道管理模块通过natsserver将云平台部署架构下不同区域中的nats集群联合形成nats超级集群,利用所述nats超级集群作为不同区域集群knative eventing系统的共同事件管道,
事件生产和消费模块通过所述共同事件管道进行跨区域集群中事件的生产和消费,包括:将不同区域集群knative eventing系统的生产者的事件通过所述共同事件管道广播至各个区域中的订阅所述事件的多个消费者,
将不同区域集群knative eventing系统的消费者通过所述共同事件管道订阅到多个区域中生产所述事件的生产者;
同时允许单向通信的区域环境,利用natsserver的叶节点集群与其他区域或管理侧进行事件的发布和订阅。
7.根据权利要求1所述的一种实现跨区域生产和消费事件的装置,其特征是所述事件生产和消费模块通过所述共同事件管道将生产者的事件广播至各个区域中的订阅所述事件的多个消费者,包括:
某一个区域上生产者发布共享事件,被本区域内的消费者消费;
某一个区域上生产者发布共享事件,被其他任何区域的消费者消费;
多个区域上生产者发布某一类事件,被某一个区域上的消费者消费。
8.根据权利要求1或2所述的一种实现跨区域生产和消费事件的装置,其特征是基于knative eventing系统,事件生产和消费模块将生产者生产的事件利用sinkbinding机制或直接调用brokerurl的方式发送至Eventing代理,通过Eventing为事件传递提供触发器,事件进入代理后,使用触发器将事件转发给消费者。
9.根据权利要求8所述的一种实现跨区域生产和消费事件的装置,其特征是所述事件生产和消费模块通过触发器按属性过滤事件,将具有特定属性的事件发送给对所述特定属性的事件感兴趣的消费者。
10.根据权利要求6所述的一种实现跨区域生产和消费事件的装置,其特征是基于knative eventing系统,事件生产和消费模块将消费者回复来自Eventing代理的活动请求,使用CloudEvent响应Eventing代理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210818585.2A CN115277695A (zh) | 2022-07-13 | 2022-07-13 | 一种实现跨区域生产和消费事件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210818585.2A CN115277695A (zh) | 2022-07-13 | 2022-07-13 | 一种实现跨区域生产和消费事件的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115277695A true CN115277695A (zh) | 2022-11-01 |
Family
ID=83765975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210818585.2A Pending CN115277695A (zh) | 2022-07-13 | 2022-07-13 | 一种实现跨区域生产和消费事件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115277695A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2815598C1 (ru) * | 2022-11-02 | 2024-03-19 | Автономная некоммерческая организация высшего образования "Университет Иннополис" | Способ создания робототехнических систем |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808104A (zh) * | 2009-02-12 | 2010-08-18 | 李冰 | 一种以流式方式运行的互联网建立方法 |
US20100235858A1 (en) * | 1999-08-09 | 2010-09-16 | Jobst Matthias Muehlbach | Service browser process and related system |
US20160219089A1 (en) * | 2015-01-23 | 2016-07-28 | Ebay Inc. | Systems and methods for messaging and processing high volume data over networks |
CN107332719A (zh) * | 2017-08-16 | 2017-11-07 | 北京云端智度科技有限公司 | 一种cdn系统内日志实时分析的方法 |
CN112527520A (zh) * | 2020-12-01 | 2021-03-19 | 中国建设银行股份有限公司 | 一种部署消息中间件的方法和装置 |
CN114465997A (zh) * | 2022-03-11 | 2022-05-10 | 深圳市商汤科技有限公司 | 数据同步方法及装置、电子设备和存储介质 |
CN114584555A (zh) * | 2022-03-08 | 2022-06-03 | 浪潮云信息技术股份公司 | 一种分布式云场景下的全域事件分发方法和系统 |
-
2022
- 2022-07-13 CN CN202210818585.2A patent/CN115277695A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100235858A1 (en) * | 1999-08-09 | 2010-09-16 | Jobst Matthias Muehlbach | Service browser process and related system |
CN101808104A (zh) * | 2009-02-12 | 2010-08-18 | 李冰 | 一种以流式方式运行的互联网建立方法 |
US20160219089A1 (en) * | 2015-01-23 | 2016-07-28 | Ebay Inc. | Systems and methods for messaging and processing high volume data over networks |
CN107332719A (zh) * | 2017-08-16 | 2017-11-07 | 北京云端智度科技有限公司 | 一种cdn系统内日志实时分析的方法 |
CN112527520A (zh) * | 2020-12-01 | 2021-03-19 | 中国建设银行股份有限公司 | 一种部署消息中间件的方法和装置 |
CN114584555A (zh) * | 2022-03-08 | 2022-06-03 | 浪潮云信息技术股份公司 | 一种分布式云场景下的全域事件分发方法和系统 |
CN114465997A (zh) * | 2022-03-11 | 2022-05-10 | 深圳市商汤科技有限公司 | 数据同步方法及装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
张今革;林志达;张华兵;: "基于消息中间件的数据传输方法研究", 电子世界, no. 02 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2815598C1 (ru) * | 2022-11-02 | 2024-03-19 | Автономная некоммерческая организация высшего образования "Университет Иннополис" | Способ создания робототехнических систем |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pietzuch et al. | Hermes: A distributed event-based middleware architecture | |
Pietzuch et al. | Peer-to-peer overlay broker networks in an event-based middleware | |
Byers et al. | Fog computing distributing data and intelligence for resiliency and scale necessary for iot: The internet of things (ubiquity symposium) | |
US10367852B2 (en) | Multiplexed demand signaled distributed messaging | |
CN108881369B (zh) | 一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统 | |
Zhao et al. | Dynatops: A dynamic topic-based publish/subscribe architecture | |
KR20120074300A (ko) | 계층적 공표 및 가입 시스템 | |
CN105610981A (zh) | 快速作战信息流转平台 | |
CN103581307A (zh) | 一种基于集群的发布/订阅系统及其可靠性保障方法 | |
CN104320441B (zh) | 无线通信系统间信息共享方法 | |
CN111885439B (zh) | 一种光网络综合管理和值勤管理系统 | |
CN110928694B (zh) | 一种计算机系统 | |
Germanus et al. | Increasing the resilience of critical scada systems using peer-to-peer overlays | |
Maqsood et al. | Scalability issues in online social networks | |
CN103546572A (zh) | 一种云存储装置以及多云存储联网系统和方法 | |
Ha et al. | Design and deployment of low-delay hybrid cdn–p2p architecture for live video streaming over the web | |
CN204557577U (zh) | 一种基于iec61968和企业服务总线的配电网信息系统 | |
CN115277695A (zh) | 一种实现跨区域生产和消费事件的方法 | |
Akiyama et al. | Scalable pub/sub system using openflow control | |
Kim et al. | A scalable pub/sub system for ndn | |
Coulson et al. | A component‐based middleware framework for configurable and reconfigurable Grid computing | |
Peng et al. | A novel framework of distributed datacenter networks to support intelligent services: Architecture, operation, and solutions | |
Ribas et al. | A new approach to a self-organizing federation of mqtt brokers | |
Marzal et al. | Efficient event notification middleware for smart microgrids over P2P networks | |
Pham et al. | A Fog/Cloud based data delivery model for publish-subscribe systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |