基于事件驱动的微服务框架解析
1. 基础生产者与消费者微服务
基础生产者和消费者(BPC)微服务从一个或多个事件流中摄取事件,应用必要的转换或业务逻辑,并将必要的事件发送到输出事件流。其特点是使用基本的消费者和生产者客户端,这些基本客户端不包含事件调度、水印、物化机制、变更日志或带有本地状态存储的处理实例的水平扩展等功能,这些功能通常属于更全功能的框架。
生产者和消费者客户端在大多数常用语言中都很容易获得,降低了开始使用事件驱动微服务的认知开销。有界上下文的整个工作流包含在单个微服务应用程序的代码中,使微服务的职责本地化且易于理解。工作流也可以轻松包装到一个或多个容器中,然后使用微服务的容器管理解决方案进行部署和执行。
2. BPC适用场景
- 与现有和遗留系统集成 :遗留系统可以通过将基本的生产者/消费者客户端集成到其代码库中来参与事件驱动架构。在某些情况下,无法安全地修改遗留代码库以从事件流中生产和消费数据,边车模式适用于这种情况。例如,一个电子商务商店的前端之前通过定期批处理作业与只读从属数据存储同步来获取数据,现在有产品信息和产品库存水平两个事件流,可以使用边车实现将数据沉入数据存储,BPC消费事件并将其更新到关联的数据集中,前端无需更改系统代码即可获得近乎实时的产品更新数据。
- 不依赖事件顺序的有状态业务逻辑 :许多业务流程对事件到达的顺序没有要求,但要求所有必要的事件最终到达,这就是门控模式,BPC在这种模式下表现良好。例如,图书出版在发送到打印机之前,需要完成书籍内容编写、封面艺术创作和定价这三件事,事件发生顺序不重要,但每件事都必须在
超级会员免费看
订阅专栏 解锁全文

1721

被折叠的 条评论
为什么被折叠?



