使用Spring Cloud Stream和Spring State Machine创建事件驱动的微服务案例

栏目: Java · 发布时间: 7年前

内容简介:这是一个事件流处理微服务开源github示例。在事件驱动的微服务架构中,领域事件的概念对于每个服务的行为至关重要。随着微服务架构的普及,CQRS(Command Query Responsibility Segregation)与Event Sourcing结合使用的流行做法在应用程序中变得越来越普遍。此示例项目演示了如何使用Spring Boot和Spring Cloud构建事件驱动的微服务的端到端示例。该项目旨在展示构建处理HTTP和AMQP协议以交换消息的微服务的理想开发过程。

这是一个事件流处理微服务开源github示例。

在事件驱动的微服务架构中,领域事件的概念对于每个服务的行为至关重要。随着微服务架构的普及,CQRS(Command Query Responsibility Segregation)与Event Sourcing结合使用的流行做法在应用程序中变得越来越普遍。

此示例项目演示了如何使用Spring Boot和Spring Cloud构建事件驱动的微服务的端到端示例。该项目旨在展示构建处理HTTP和AMQP协议以交换消息的微服务的理想开发过程。

演示的概念:

  • Event Sourcing
  • 事件流处理
  • 修复部分失败
  • 补偿交易事务
  • 最终的一致性
  • 超媒体事件日志
  • 无服务器函数

涉及Spring项目:

架构

这个案例架构中的每个微服务分解为三个不同的可独立部署的组件。

使用Spring Cloud Stream和Spring State Machine创建事件驱动的微服务案例 上图详细说明了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中部分可用。负载模拟器流模块将开始将事件缓慢地泵压入系统,您将能够在分析部分中看到事件,您可以在其中看到计数器测量事件负载随时间的变化。

无服务器函数

此参考体系结构中的每个有界上下文都包含一组动作映射函数,这些函数可以部署为无服务器函数。要了解有关其在实践中的工作原理的更多信息,请查看 帐户工作者 应用程序的文档。


以上所述就是小编给大家介绍的《使用Spring Cloud Stream和Spring State Machine创建事件驱动的微服务案例》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Realm of Racket

Realm of Racket

Matthias Felleisen、Conrad Barski M.D.、David Van Horn、Eight Students Northeastern University of / No Starch Press / 2013-6-25 / USD 39.95

Racket is the noble descendant of Lisp, a programming language renowned for its elegance and power. But while Racket retains the functional goodness of Lisp that makes programming purists drool, it wa......一起来看看 《Realm of Racket》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具