两个领域事件驱动的开源项目介绍

基于DDD的EventSroucing事件溯源和CQRS的项目正在迅速发展,这里介绍两个开源项目:flowing-retailscalable-coffee-shop。它们都是基于Apache Kafka的Java实现。

flowing-retail是基于业务流程的工作流方面的开源项目,通过引入领域事件和事件驱动,能够很好地解耦不同微服务之间的耦合,同时为流程的人工介入提供自然良好的切入点。更可以集成开源BPM流程引擎Camunda,基于微服务下的业务流程编排就变得更加灵活和可控,如果结合Saga实现分布式事务,能够实现基于BASE的最终一致性柔性事务,成为微服务架构下分布式事务最有前途的解决方案。

scalable-coffee-shop是基于JavaEE容器下结合Kafka的事件驱动实现项目,巧妙地利用了JavaEE容器的异步机制与Kafka的发布订阅模式相结合,通过Kafka的消息事务机制实现了精确一致性的消息传递,可靠地在各个模块或微服务之间实现了事件传递和业务流程的实现。

两者业务上共同点都是从下订单开始,到订单最终完成,flowing-retail分订单微服务,支付微服务和仓库微服务;scalable-coffee-shop分为订单模块,咖啡豆模块和制作模块。

相关文章:
事件是一等公民
如何设计实现真正的响应式微服务系统?
到底什么是事件驱动架构
微服务中的事件、流程和长时间运行业务
超越分布式事务
微服务分布式事务Saga框架

[该贴被admin于2018-02-06 19:48修改过]