欢迎光临汤雪华的博客

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

ENode框架使用场景简述

Posted on 2015-06-26 11:31 netfocus 阅读(...) 评论(...) 编辑 收藏

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

开源项目地址:https://github.com/tangxuehua/enode

ENode可能的应用场景如下:

  1. 当你正在找一个DDD的开发框架时,可以考虑ENode;
  2. 当你想找一个CQRS架构的实现框架时,可以考虑ENode;当你的系统具有大量的写入,同时又有更大量的读取时,只要系统能接受写入数据和读取数据的最终一致性(秒级),那就可以考虑使用ENode;ENode可以让我们对读写两端做不同的技术架构,分开优化,互不影响;
  3. 当你的业务场景从用户的角度去看,读和写操作就相互明确区分的,就是用户在写入或更新一个数据后不需要立即看到结果的场景,那就可以考虑使用ENode;
  4. 当你想实现CQRS,但还是想能在Command发送后可以同步获取Command处理结果时,可以使用ENode;
  5. 当你要实现ES模式时,可以使用ENode;ES的最大好处是整个系统的所有数据的变化都可以追溯其历史,我们可以把数据还原到任意的某个历史状态;
  6. 当你要找一个异步的、事件驱动的应用开发框架时,可以考虑ENode;ENode在实现EDA架构的同时,可以帮助我们自动从架构层面解决消息的幂等处理、消息不丢,以及并发处理等技术问题;
  7. 当你希望你的应用能支持高并发、高吞吐、可伸缩、可扩展这些非功能性需求时,可以考虑ENode;
  8. 当你需要找一个Saga开发框架来代替分布式事务时,可以考虑使用ENode;

只要你的系统需要满足以上的若干点,就可以考虑选择使用ENode。