当前位置: 首页 > 工具软件 > Eventuate > 使用案例 >

微服务中基于事件订阅发布的分布式数据最终一致性软件框架Eventuate概述

祁修诚
2023-12-01

Eventuate Platform是一个编写支持事务的微服务的事件机制平台,提供事件库服务,通过事件的订阅发布解决分布式数据管理的最终一致性。
1. Eventuate采用事件驱动的编程模型:

  • 基于event sourcing的原子性操作
  • 基于CQRS(Command Query Responsibility Segregation)的视图

2. 概念模型

  • Entity---------->Event
  • Entity Type--->Event Type<--Subscription<--Subscriber

对Entity的操作:

  • Create
  • Update
  • Retrieve

3. Eventuate的版本

  • Eventuate SaaS server(商业版本)

部署在AWS上的event store,支持全功能

  • Eventuate Local(开源版本)

基于MySQL和Kafka的event store,支持部分主要功能

4. Eventuate的组成

  • distributed event store
    • REST API,操作事件库中的entity
    • STOMP API,订阅事件
  • client libraries
  • 支持Java

eventuate-client-java

 

  • 支持Scala

5.Eventuate应用的架构

  • Eventuate Event Store
  • Eventuate Adapter
  • Event Handler
  • Service

6. Eventuate应用的业务逻辑组成模块

  • Command-side module,操作事件库中的entity

Services,处理客户端请求以创建或更新Aggregates
Aggregates,事件库中要保存的对象
Event handlers,处理对事件库的请求

 

  • Query-side view updater module

订阅更新视图的事件

 

  • Query-side view query module module

订阅查询视图的事件

 

  • Outbound gateway module

为事件库调用外部其他服务

 

 

 

参考链接:

http://eventuate.io/

http://eventuate.io/usingeventuate.html

https://github.com/cer/event-sourcing-examples

 类似资料: