28、事件通知器与事件 API:构建松耦合微服务架构

事件通知器与API构建微服务

事件通知器与事件 API:构建松耦合微服务架构

1. 事件编排与组件变更通知

在微服务架构中,我们常常使用事件编排(Event Choreography)来协调多个组件。当某个组件发生变化时,对该变化感兴趣的其他组件能够做出相应反应,同时避免通过 API 进行紧密耦合。事件编排通过事件(Event)来传达每个变化的信息。

那么,组件应该如何以及何时向其他组件宣布变更呢?我们需要遵循一些原则。首先,并非每个变化对其他组件都具有重要意义,因此需要有选择性地传达变化及其时机,避免组件之间的过度耦合。这遵循了微服务设计中的松散耦合原则,同时允许系统进行扩展,而无需暴露组件的实现细节。

另外,要避免通过数据模型来耦合组件。例如,在航运示例中,如果每当潜在客户从购物车中添加或移除商品时,订单处理团队就开始挑选、包装、拆包和重新上架商品,这显然是不合理的。因此,设计每个组件为事件通知器(Event Notifier),使其能够将最重要的变化作为事件进行宣布。

1.1 事件通知器的实现

事件编排依赖于事件的发布。在实现事件系统时,我们需要让组件能够在发生感兴趣的事情时发出信号,以便其他感兴趣的组件能够得到通知并采取适当的行动。为此,我们将组件设计为事件通知器。

事件通知器至少要实现某种通知机制,当发生感兴趣的事件时,它会将事件发布到事件主干(Event Backbone)的某个主题上。需要注意的是,事件通知器无需了解哪个组件会接收和处理该事件。

1.2 选择发布的事件

决定实现事件通知器时,最紧迫的问题之一是选择要发布哪些事件,这涉及到服务编排(Service Orchestration)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值