Eventuate 开源项目推荐
项目基础介绍和主要编程语言
Eventuate 是一个用于构建由事件驱动和事件源服务组成的应用程序的工具包。这些服务通过因果有序的事件流进行通信。服务可以在单个节点上共存,也可以分布在全球范围内。Eventuate 支持服务在网络分区期间保持写可用性,并提供因果一致性的复制。该项目主要使用 Scala 编程语言编写,并构建在 Akka 之上,Akka 是一个用于构建高并发、分布式和弹性消息驱动应用程序的工具包。
项目核心功能
- 事件源和事件驱动服务:Eventuate 提供抽象来构建有状态的事件源服务,支持持久化和内存查询数据库,以及事件处理管道。
- 可靠和分区容忍的事件总线:服务可以通过可靠且分区容忍的事件总线进行通信,确保事件的因果顺序和全球范围内的分布。
- 因果一致性的服务复制:支持有状态服务的因果一致性复制,并在网络分区期间保持写可用性。
- 操作基于的 CRDTs:提供操作基于的 CRDTs(无冲突复制数据类型)的实现,支持并发状态更新和自动冲突解决。
- 分布式服务支持:允许服务分布在多个可用区(位置),支持可靠的业务流程从事件驱动和命令驱动服务交互中实现。
- 事件聚合和第三方框架适配器:支持从分布式服务聚合事件以更新查询数据库,并提供适配器以分析第三方流处理框架的事件流。
项目最近更新的功能
由于该项目目前处于维护模式,仅修复关键错误,不再进行新功能的开发,因此最近没有新的功能更新。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考