个人理解上,事件驱动的集成架构可以让App只需要关注(订阅)事件总线并根据事件做出相应动作,然后将自己的事件发布到事件总线来触发其他系统的动作即可
在深入了解SAP Event Mesh服务的技术实施细节之前,我们先来了解事件驱动架构的总体概述
什么是事件驱动架构?我们为什么要关心它?
让我们以日常生活为例。你开车出去兜风时,遇到红灯时,你会踩下刹车并停车。
当绿灯出现时,你开始加速。
在这个例子中,你的动作是根据你接收到的信号来决定的。红灯是停车的事件信号,绿灯则是通过的事件信号。
这是事件驱动架构的本质:没有事件发生时,你不会有行动。
当前的消费者不喜欢使用强耦合的解决方案。事件驱动的体系结构让我们可以解耦大型系统,并让App们仅通过事件来通信。
引发事件与调用API不同,因为在API调用中,我们需要从最一开始就决定目标系统,但事件只是需要统一的发送到事件总线即可,然后Router来确定它的路由规则,以及哪些系统应该被这个事件触发动作。
此类机制的优点是,一旦事件被发送到队列,任何消费者都可以被触发。
事件驱动体系结构的通用用例如下:
- 不同微服务之间的通信——独立的微服务之间可以有效地共享信息,而无需紧密耦合。
- 不同系统之间的数据复制–不同的服务/系统可以同时被同一个事件触发(例如创建、更改和删除)。
- 并行处理–单个事件可以触发多个异步执行的进程。
- 通过冗余实现弹性–如果事件订阅者不可用,则数据会在事件总线中保持,直到事件订阅者再次运行。
SAP Event Mesh如何融入你的环境?
Sap Event Mesh是一项完全托管的服务,允许您使用事件/消息在不同的系统、应用程序或服务之间进行通信,从而解耦解决方案,只要你的应用支持发送/订阅事件即可。
它充当一个中央消息代理/消息传递服务,捕获不同系统中发生的事件。并由事件订阅者决定该如何做出对应动作。它可以通过SAP CPI服务、一些Webhook、或基于CAP的应用程序等实现。
由于SAP Event Mesh负责消息的传递,因此发送方可以在不考虑目标系统地址的情况下执行其功能。
使用SAP Event Mesh可以:
- 支持事件驱动架构和微服务。
- 在从数字核心到扩展应用程序的混合环境中发布来自SAP和非SAP来源的业务事件
- 构建事件驱动的扩展和集成,并订阅核心SAP系统中的事件,以使云原生扩展和集成能够实时响应最新的业务发展
- 作为SAP Integration Suite和SAP Extension Suite的一部分,可在有指导的同时灵活地实施扩展和集成场景
总的来说,SAP看到了云原生微服务的优势,但也看到了获取这些优势所需要的成本,并努力去减少这些成本,例如Event Mesh就可以在最小App改造成本的前提下获取微服务架构的优势
关于本文内容有任何问题或见解,欢迎在评论区留下你的想法,如果时间紧迫,也可以直接联系到我 arthuryang1996@foxmail.com,感谢你的时间