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。

ENode框架使用场景简述的更多相关文章

  1. ENode框架Conference案例分析系列之 - 架构设计

    Conference架构概述 先贴一下Conference案例的在线地址,UI因为完全拿了微软的实现,所以都是英文的,以后我有空再改为中文的. Conference后台会议管理:http://www. ...

  2. ENode框架Conference案例分析系列之 - Quick Start

    前言 前一篇文章介绍了Conference案例的架构设计,本篇文章开始介绍Conference案例的代码实现.由于代码比较多,一开始就全部介绍所有细节,估计很多人接受不了,也理解不了.所以,我先进行一 ...

  3. ENode框架Conference案例分析系列之 - 订单处理减库存的设计

    前言 前面的文章,我介绍了Conference案例的业务.上下文划分.领域模型.架构,以及代码整体流程.接下来想针对案例中一些重要的场景,分别做进一步的分析.本文想先介绍一下Conference案例的 ...

  4. ENode框架Conference案例分析系列之 - ENode框架初始化

    前言 Conference案例是使用ENode框架来开发的.之前我没有介绍过ENode框架是如何启动的,以及启动时要注意的一些点,估计很多人对ENode框架的初始化这一块感觉很复杂,一头雾水.所以,本 ...

  5. ENode框架初始化

    ENode框架初始化 前言 Conference案例是使用ENode框架来开发的.之前我没有介绍过ENode框架是如何启动的,以及启动时要注意的一些点,估计很多人对ENode框架的初始化这一块感觉很复 ...

  6. ENode框架Conference案例转载

    ENode框架Conference案例分析系列之 - Quick Start 前言 前一篇文章介绍了Conference案例的架构设计,本篇文章开始介绍Conference案例的代码实现.由于代码比较 ...

  7. enode框架step by step之事件驱动架构(EDA)思想的在框架中如何体现

    enode框架step by step之事件驱动架构(EDA)思想的在框架中如何体现 上一篇文章,我给大家分享了我的一个基于DDD以及EDA架构的框架enode,但是只是介绍了一个大概.接下来我准备用 ...

  8. enode框架step by step之saga的思想与实现

    enode框架step by step之saga的思想与实现 enode框架系列step by step文章系列索引: 分享一个基于DDD以及事件驱动架构(EDA)的应用开发框架enode enode ...

  9. ENode框架Conference案例分析系列之 - 文章索引

    ENode框架Conference案例分析系列之 - 业务简介 ENode框架Conference案例分析系列之 - 上下文划分和领域建模 ENode框架Conference案例分析系列之 - 架构设 ...

随机推荐

  1. eclipse优化设置

    1. Eclipse的控制台console有时候经常的跳出来,非常的烦人! 让它不经常的调出来,可以按下面的操作去掉它: windows  ->   preferences   ->  r ...

  2. dvd管理系统

    >>>>>>>>>>>>>>>>>>>> 语言:java 工具:eclipse ...

  3. Fragment滑动切换简单案例

    Fragment的产生与介绍Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神 ...

  4. js转换数据库中DateTime字段类型

    在程序中,从数据库中读取到的日期时间类型数据一般是这种格式:"/Date(1355109408000+0800)/" 要经过js函数处理变为格式:'2012-12-10 11:05 ...

  5. obj转json

    .js模型(JSON)的获取 方法一: 1.安装Python插件.安装完后配置环境变量,path中添加Python路径. 2.找到three.js\utils\converters\obj\conve ...

  6. iis下搭建通过phpstudy集成的环境,phpmyadmin导入数据库无法应解决办法

    本人非常喜欢phpstudy的集成php+mysql环境,一键搞定,但是不知道为什么搭建的phpmyadmin的数据库管理器,无法上传,点击无反应 发现上传数据的界面有点不同 正常情况下是这样的: 非 ...

  7. 利用 HashSet 去过滤元素是否重复

    HashSet<Integer> hashSet = new HashSet<Integer>(); for (int i = resultDoctorDetails.size ...

  8. 同步机制 note

    1.信号量与互斥体的不同之处: 不需要由最初获取它的那个线程来释放. 信号量可以用来调停对资源池的访问. 2. 条件变量: 允许任意复杂的条件表达式作为等待条件,允许更复杂的调度策略.

  9. [DataMining]WEEK1 - text-retrieval and search engine

    What does a computer have to do in order to understand a natural language sentence? What is ambiguit ...

  10. js中substr,substring,indexOf,lastIndexOf的用法小结

    第一组:str.substr(start,length) 和 str.substring(start,end) 定义: str.substr(start,length) substr(start,le ...