欢迎光临汤雪华的博客

一个人一辈子能坚持做好一件事情就够了!坚持是一种刻意的练习,不断寻找缺点突破缺点的过程,而不是重复做某件事情。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ENode 2.8 最新架构图简介

Posted on 2016-04-17 15:30  netfocus  阅读(15647)  评论(44编辑  收藏  举报

ENode架构图

 

什么是ENode

ENode是一个.NET平台下,纯C#开发的,基于DDD,CQRS,ES,EDA,In-Memory架构风格的,可以帮助开发者开发高并发、高吞吐、可伸缩、可扩展的应用程序的一个应用开发框架。

  • 开源项目地址:https://github.com/tangxuehua/enode
  • 作者博客地址:http://www.cnblogs.com/netfocus/category/496012.html
  • QQ交流群号:185916873
  • 微信公众号:ENode

ENode框架特色

  1. 一个DDD开发框架,完美支持基于六边形架构思想的开发
  2. 实现CQRS架构思想,并且框架提供C端命令的处理结果的返回,支持同步返回和异步返回
  3. 内置Event Sourcing(ES)架构模式,让C端的数据持久化变得通用化
  4. 聚合根常驻内存,in-memory domain model
  5. 聚合根的处理基于Command Mailbox, Event Mailbox的思想,类似Actor Model, Actor Mailbox
  6. 严格遵守聚合内强一致性、聚合之间最终一致性的原则
  7. Group Commit Domain event
  8. 基于聚合根ID+事件版本号的唯一索引,实现聚合根的乐观并发控制
  9. 框架保证Command的幂等处理
  10. 通过聚合根ID对命令或事件进行路由,做到最小的并发冲突、最大的并行处理
  11. 消息发送和接收基于分布式消息队列EQueue,支持分布式部署
  12. 基于事件驱动架构范式(EDA,Event-Driven Architecture)
  13. 基于队列的动态扩容/缩容
  14. EventDB中因为存放的都是不可变的事件,所以水平扩展非常容易,框架可内置支持
  15. 支持Process Manager(Saga),以支持一个用户操作跨多个聚合根的业务场景,如订单处理,从而避免分布式事务的使用
  16. ENode实现了CQRS架构面临的大部分技术问题,让开发者可以专注于业务逻辑和业务流程的开发,而无需关心纯技术问题