全球事件总线系统进行消息同步的方法、装置、介质及产品与流程
- 国知局
- 2024-12-06 12:08:27
本发明涉及总线系统领域,特别是涉及一种全球事件总线系统进行消息同步的方法、装置、介质及产品。
背景技术:
1、在分布式系统中,事件总线(eventbus)是一种重要的机制,用于在不同的系统、组件、服务之间进行事件的发布、传递和监听。它是实现松耦合、事件驱动架构的关键组件。然而,现有的技术存在如下限制:
2、消息追踪与溯源问题:缺乏有效的消息追踪和溯源机制,给问题诊断和数据治理带来挑战;
3、难以做到全球数据同步:现有的1对1或1对多消息模型在全球同步时可能遇到延迟和数据一致性问题,尤其是在不同地域之间同步大量数据时;
4、缺乏灵活的消息编排:业务的复杂性导致消息编排困难,使得消息流难以管理和优化;
5、消息传输协议或规范:服务间消息传输协议和规范不同,可能导致集成问题,特别是在多种技术栈混合的环境中;
6、系统处理事件量有限:传统的eventbus系统可能在处理大量事件时遇到性能瓶颈,尤其是在复杂的业务流程中;
7、复杂业务流程难以管理:事件多且流程复杂,缺少灵活的业务解耦能力,使得系统难以适应快速变化的业务需求。
技术实现思路
1、为解决上述问题中的至少一个,本发明的实施例提供了一种全球事件总线系统进行消息同步的方法、装置、介质及产品,以通过一种高性能、高可靠性、拥有便捷的消息管理能力的具有事件驱动架构的总线系统来支持例如全球消息事件同步的复杂的企业级应用。
2、为实现上述目的,一方面,提供一种全球事件总线系统进行消息同步的方法,所述全球事件总线系统包括camel组件和kafka集群,所述方法包括以下步骤:
3、s1:在消息生产者触发预先约定的事件后,将事件的消息发送到所述camel组件;
4、s2:所述camel组件将所述事件的消息转换成第一事件源;
5、s3:所述camel组件根据预先设定的路由规则将所述第一事件源转发到kafka集群,所述kafka集群对所述第一事件源进行序列化,得到序列化事件源,并将所述序列化事件源保存在预先约定的主题中;
6、s4:当已订阅所述主题的消息消费者向所述camel发送消费请求时,所述camel向kafka集群转发所述消费请求;
7、s5:kafka集群在收到所述消费请求后,将所述主题下的序列化事件源消息发送给所述camel,所述camel将所述序列化事件源进行反序列化,得到第二事件源,并将所述第二事件源转发给所述已订阅所述主题的消息消费者;
8、s6:所述已订阅所述主题的消息消费者通过指定的消息事件监听器,将接收到的所述第二事件源分发给指定的事件类型处理器处理。
9、优选地,所述第一事件源和所述第二事件源为具有统一格式的事件消息,包括:
10、事件标签、事件追踪id、事件主题、事件类型、事件负载和业务关键字。
11、优选地,在所述s1至s6的消息同步过程中,通过所述camel组件实现消息跟踪,所述消息跟踪包括:
12、根据所述第一事件源的事件追踪id对全球分布式事件的异常、消息路由情况进行跟踪。
13、优选地,所述预先设定的路由规则包括:通过结合事件源中的事件标签、camel的领域特定语言实现的路由规则;其中,根据路由规则将消息从消息发布端点转发到最终端点;
14、优选地,在所述camel组件路由事件源时,通过camel组件的集成适配能力实现kafka与消息生产者或消息消费者之间的协议适配。
15、另一方面,提供了一种全球事件总线系统进行消息同步的装置,包括存储器和处理器,所述存储器存储有至少一段程序,所述至少一段程序由处理器执行以实现如上文任一所述的全球事件总线系统进行消息同步的方法的步骤。
16、另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器执行以实现如上文任一所述的全球事件总线系统进行消息同步的方法的步骤。
17、又一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上文任一所述的全球事件总线系统进行消息同步的方法的步骤。
18、又一方面,提供了一种全球事件总线系统,包括camel组件和kafka集群,所述camel组件和所述kafka集群使用如上文任一所述的全球事件总线系统进行消息同步的方法来进行消息同步。上述技术方案具有如下技术效果:
19、本发明实施例的技术方案基于包括camel组件和kafka集群的全球事件总线系统来进行消息同步,可在实现全球消息同步的同时,保证系统的高性能、消息传输的可靠性和持久性;兼容各种消息传输协议;确保消息得到清晰的管理与监控。
技术特征:1.一种全球事件总线系统进行消息同步的方法,其特征在于,所述全球事件总线系统包括camel组件和kafka集群,所述方法包括以下步骤:
2.根据权利要求1所述的全球事件总线系统进行消息同步的方法,其特征在于,所述第一事件源和所述第二事件源为具有预定统一格式的事件消息,包括:
3.根据权利要求2所述的全球事件总线系统进行消息同步的方法,其特征在于,在所述s1至s6的消息同步过程中,通过所述camel组件实现消息跟踪,所述消息跟踪包括:
4.根据权利要求2所述的全球事件总线系统进行消息同步的方法,其特征在于,所述预先设定的路由规则包括:通过结合事件源中的事件标签和所述camel组件的领域特定语言实现的路由规则;
5.根据权利要求1所述的全球事件总线系统进行消息同步的方法,其特征在于,在所述camel组件路由对应的事件源时,通过所述camel组件来实现kafka与消息生产者或消息消费者之间的协议适配。
6.一种全球事件总线系统进行消息同步的装置,其特征在于,包括存储器和处理器,所述存储器存储有至少一段程序,所述至少一段程序由处理器执行以实现如权利要求1至5任一所述的全球事件总线系统进行消息同步的方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器执行以实现如权利要求1至5任一所述的全球事件总线系统进行消息同步的方法的步骤。
8.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一所述的全球事件总线系统进行消息同步的方法的步骤。
9.一种全球事件总线系统,其特征在于,包括camel组件和kafka集群,所述camel组件和所述kafka集群使用权利要求1-5中任一项所述的全球事件总线系统进行消息同步的方法来进行消息同步。
技术总结本发明提供了一种全球事件总线系统进行消息同步的方法、装置、介质及产品,其特征在于,所述方法包括以下步骤:S1:在消息生产者触发预先约定的事件后,将事件消息发送到Camel;S2:Camel将事件消息转换成第一事件源并转发;S3:Kafka集群接收到第一事件源后对其进行序列化,得到序列化事件源,并保存在预先约定的主题中;S4:Camel接收已订阅主题的消息消费者的消费请求,并向Kafka集群转发消费请求;S5:Kafka集群在收到消费请求后,将主题下的序列化事件源消息通过Camel反序列化得到第二事件源并转发给消息消费者;S6:消息消费者通过指定的消息事件监听器,将接收到的第二事件源分发给指定的事件类型处理器处理。利用上述技术方案,可构建全球事件总线系统并完成全球分布式消息同步。技术研发人员:张亮受保护的技术使用者:厦门星纵物联科技有限公司技术研发日:技术公布日:2024/12/2本文地址:https://www.jishuxx.com/zhuanli/20241204/339543.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。