Spring Cloud Stream和Spring State Machine建立微服务案例
这是一个事件流处理微服务开源github示例。
在事件驱动的微服务架构中,领域事件的概念对于每个服务的行为至关重要。随着微服务架构的普及,CQRS(Command Query Responsibility Segregation)与Event Sourcing结合使用的流行做法在应用程序中变得越来越普遍。

此示例专案演示了如何使用Spring Boot和Spring Cloud构建事件驱动的微服务的端到端示例。该专案旨在展示构建处理HTTP和AMQP协议以交换讯息的微服务的理想开发过程。
演示的概念:
Event Sourcing事件流处理修复部分失败补偿交易事务最终的一致性超媒体事件日志无服务器函式涉及Spring专案:
Spring BootSpring Cloud NetflixSpring Cloud StreamSpring Cloud Data FlowSpring Statemachine架构
这个案例架构中的每个微服务分解为三个不同的可独立部署的元件。

上图详细说明了Accounts的有界上下文的系统体系结构,其中包括每个 Backing Service , Microservice 和 AWS Lambda Function的 可部署单元。

要构建和执行实验专案,请执行以下命令:
mvn clean install -DskipTests -DskipDockerBuild
您需要在本地计算机上执行Apache Kafka,Apache Zookeeper和Redis。构建过程完成后,您可以在本地计算机上启动Spring Cloud Data Flow服务器,该服务器将协调每个微服务应用程序。

在启动Spring Cloud Data Flow之前,请确保您正在执行每个支援服务,如上所述。此外,您将需要启动Eureka服务器。
cd ./platform-services/discovery
mvn spring-boot:run
一旦Eureka启动,您就可以启动Spring Cloud Data Flow服务器,该服务器将引导Spring Cloud Stream模组。
cd ./platform-services/data-flow-server
mvn spring-boot:run
将汇入Spring Cloud Stream应用程序,并且事件流将在资料流服务器的streams中部分可用。负载模拟器流模组将开始将事件缓慢地泵压入系统,您将能够在分析部分中看到事件,您可以在其中看到计数器测量事件负载随时间的变化。
无服务器函式
此参考体系结构中的每个有界上下文都包含一组动作对映函式,这些函式可以部署为无服务器函式。要了解有关其在实践中的工作原理的更多资讯,请检视 账户工作者 应用程序的文件。
end:如果你觉得本文对你有帮助的话,记得关注点赞转发,你的支援就是我更新动力。