摘要: CQRS架构,C端的职责是处理从上层发送过来的command。对于单台机器来说,我们如何尽快的处理command呢?本文想通过不断提问和回答的方式,把我的思考写出来。首先,我们最容易想到的是使用多线程。那当我们要处理一个command时,能直接丢到线程池中,直接交给线程池去调度吗?不行。因为假如多个...阅读全文

posted @ 2015-01-26 00:24 netfocus 阅读(847) | 评论 (8) 编辑 |

摘要: 前言ENode是一个基于消息的架构,使用ENode开发的系统,每个环节都是处理消息,处理完后产生新的消息。本篇文章我想详细分析一下ENode框架内部是如何实现整个消息处理流程的。为了更好的理解我后面的流程的描述,我觉得还是应该先把ENode的架构图贴出来,好让大家在看后面的分析时,可以对照这个架构图...阅读全文

posted @ 2014-07-22 01:32 netfocus 阅读(1809) | 评论 (26) 编辑 |

摘要: 前言经过不断的坚持和努力,ENode 2.0的第一个真实案例终于出来了。这个案例是一个简易的论坛,开发这个论坛的初衷是为了验证用ENode框架来开发一个真实项目的可行性。目前这个论坛在UI上是使用了最终一致性,也就是说当我们发帖或回帖后不会立马显示你的帖子或回复。当我们下一次刷新页面时,会显示出来。...阅读全文

posted @ 2014-07-20 17:58 netfocus 阅读(3470) | 评论 (52) 编辑 |

摘要: 前言今天是个开心的日子,又是周末,可以轻轻松松的写写文章了。去年,我写了ENode 1.0版本,那时我也写了一个分析系列。经过了大半年的时间,我对第一个版本做了很多架构上的改进,最重要的就是让ENode实现了分布式,通过新增一个分布式消息队列EQueue来实现。之所以要设计一个分布式的消息队列是因为...阅读全文

posted @ 2014-03-08 22:52 netfocus 阅读(4168) | 评论 (17) 编辑 |

摘要: 项目开源地址:https://github.com/tangxuehua/enode上一篇文章,简单介绍了enode框架中消息队列的设计思路,本文介绍一下enode框架中关系消息的重试机制的设计思路。对于一个EDA架构为基础的框架,核心就是消息驱动,然后基于最终一致性的原则。所以,非常重要的一点是,...阅读全文

posted @ 2013-08-04 23:30 netfocus 阅读(1602) | 评论 (18) 编辑 |

摘要: 开源地址:https://github.com/tangxuehua/enode上一篇文章,简单介绍了enode框架内部的整体实现思路,用到了staged event-driven architecture的思想。通过前一篇文章,我们知道了enode内部有两种队列:command queue、eve...阅读全文

posted @ 2013-07-12 00:51 netfocus 阅读(3845) | 评论 (30) 编辑 |

摘要: 开源地址:https://github.com/tangxuehua/enode上一篇文章,简单介绍了enode框架的command service api设计思路。本文介绍一下enode框架对Staged Event-driven architecture思想的运用。通过前一篇文章我们知道comm...阅读全文

posted @ 2013-07-09 01:04 netfocus 阅读(2182) | 评论 (26) 编辑 |

摘要: 开源地址:https://github.com/tangxuehua/enode上一篇文章,介绍了enode框架的物理部署思路。本文我们再简单分析一下Command Service的API设计:Command Service在enode框架中的地位非常重要,用户使用enode框架的主入口就是comm...阅读全文

posted @ 2013-07-08 22:26 netfocus 阅读(870) | 评论 (2) 编辑 |

摘要: 开源地址:https://github.com/tangxuehua/enode上一篇文章,介绍了enode框架的总体目标,以及如何实现高吞吐、低延迟、高可用、无单点问题的实现思路。本篇文章,我们再分析一下其他一些需要考虑的问题。我发现写文章挺累的,费时费脑经,但我会坚持下去。本文主要分析一下eno...阅读全文

posted @ 2013-07-08 13:00 netfocus 阅读(1354) | 评论 (8) 编辑 |

摘要: 开源地址:https://github.com/tangxuehua/enode本文想介绍一下enode框架要实现的目标以及部分实现分析思路剖析。总体来说enode框架是一个基于cqrs架构和消息驱动的应用开发框架。在说实现思路之前,我们先看一下enode框架希望实现的一些目标吧!框架总体目标高吞吐...阅读全文

posted @ 2013-06-27 00:31 netfocus 阅读(1895) | 评论 (19) 编辑 |

摘要: 开源地址:https://github.com/tangxuehua/enode因为enode框架的思想是,一次修改只能新建或修改一个聚合根;那么,如果一个用户请求要涉及多个聚合根的新建或修改该怎么办呢?本文的目的就是要分析清楚这个问题在enode框架下是如何解决的。如果想直接通过看代码的朋友,可以...阅读全文

posted @ 2013-06-22 16:17 netfocus 阅读(3071) | 评论 (11) 编辑 |

摘要: 开源地址:https://github.com/tangxuehua/enode上一篇文章,我给大家分享了我的一个基于DDD以及EDA架构的框架enode,但是只是介绍了一个大概。接下来我准备用很多一篇篇详细但不冗长的文章介绍每个点。尽量争取一次不介绍太多内容,但希望每次介绍完后都能让大家知道这个小...阅读全文

posted @ 2013-06-19 00:00 netfocus 阅读(2713) | 评论 (17) 编辑 |

摘要: 前言今天是个开心的日子,又是周末,可以安心轻松的写写文章了。经过了大概3年的DDD理论积累,以及去年年初的第一个版本的event sourcing框架的开发以及项目实践经验,再通过今年上半年利用业余时间的设计与开发,我的enode框架终于可以和大家见面了。自从Eric Evan提出DDD领域驱动设计...阅读全文

posted @ 2013-06-17 09:18 netfocus 阅读(6416) | 评论 (47) 编辑 |

ENode 2.0的更多相关文章

  1. ENode 2.0 - 第一个真实案例剖析-一个简易论坛(Forum)

    前言 经过不断的坚持和努力,ENode 2.0的第一个真实案例终于出来了.这个案例是一个简易的论坛,开发这个论坛的初衷是为了验证用ENode框架来开发一个真实项目的可行性.目前这个论坛在UI上是使用了 ...

  2. ENode 2.0 - 整体架构介绍

    前言 今天是个开心的日子,又是周末,可以轻轻松松的写写文章了.去年,我写了ENode 1.0版本,那时我也写了一个分析系列.经过了大半年的时间,我对第一个版本做了很多架构上的改进,最重要的就是让ENo ...

  3. ENode 1.0 - Saga的思想与实现

    开源地址:https://github.com/tangxuehua/enode 因为enode框架的思想是,一次修改只能新建或修改一个聚合根:那么,如果一个用户请求要涉及多个聚合根的新建或修改该怎么 ...

  4. ENode 2.0 - 介绍一下关于ENode中对Command的调度设计

    CQRS架构,C端的职责是处理从上层发送过来的command.对于单台机器来说,我们如何尽快的处理command呢?本文想通过不断提问和回答的方式,把我的思考写出来. 首先,我们最容易想到的是使用多线 ...

  5. ENode 2.0 - 深入分析ENode的内部实现流程和关键地方的幂等设计

    前言 ENode是一个基于消息的架构,使用ENode开发的系统,每个环节都是处理消息,处理完后产生新的消息.本篇文章我想详细分析一下ENode框架内部是如何实现整个消息处理流程的.为了更好的理解我后面 ...

  6. ENode 1.0 - 消息的重试机制的设计思路

    项目开源地址:https://github.com/tangxuehua/enode 上一篇文章,简单介绍了enode框架中消息队列的设计思路,本文介绍一下enode框架中关系消息的重试机制的设计思路 ...

  7. ENode 1.0 - 消息队列的设计思路

    开源地址:https://github.com/tangxuehua/enode 上一篇文章,简单介绍了enode框架内部的整体实现思路,用到了staged event-driven architec ...

  8. ENode 1.0 - Staged Event-Driven Architecture思想的运用

    开源地址:https://github.com/tangxuehua/enode 上一篇文章,简单介绍了enode框架的command service api设计思路.本文介绍一下enode框架对St ...

  9. ENode 1.0 - 事件驱动架构(EDA)思想的在框架中如何体现

    开源地址:https://github.com/tangxuehua/enode 上一篇文章,我给大家分享了我的一个基于DDD以及EDA架构的框架enode,但是只是介绍了一个大概.接下来我准备用很多 ...

随机推荐

  1. Android-管理Activity生命周期

    用户在浏览,退出,返回app时,app中的Activity实例会在不同状态之间切换.比如,当activity第一次启动,然后来到系统前台,受到用户的注意,这个过程中,android系统调用了一系列ac ...

  2. 信息二战炸弹:中国到美国咨询公司Say no

    疯抢/文 在禁止Windows8操作系统參与政府採购,以及在中国销售的全部外国IT产品和服务都须通过新的安全审查之后,英国<金融时报>今天报料中国已禁止国企使用美国咨询公司服务. 这则消息 ...

  3. mumu血压计母亲节“拼团”盛大开幕,百度和厂家创造一个双赢的局面

        在BAT的互联网时代.似乎不论什么新兴产品和服务都不能脱离BAT的支持,作为中国互联网体量最庞大的三家企业.BAT代表的是资源优势.用户优势.品牌优势.因此,一旦脱离BAT的支持,想迅速做大无 ...

  4. HTTP响应代码

    HTTP响应代码 1xx - 消息通知 这些状态代码表示临时响应.client在收到常规响应.应准备接收一个或多个 1xx 应. · 100 - Continue 初始的请求已经接受,客户应当继续发送 ...

  5. 【ASP.NET】判断访问网站的客户端是PC还是手机

    原文:[ASP.NET]判断访问网站的客户端是PC还是手机 主要就是通过客户端传递的User-agent来判断访问网站的客户端是PC还是手机,.NET中就是Request.ServerVariable ...

  6. JAVA 跑马灯文字效果

    JAVA跑马灯文字效果的实现: 1. 首先创建一个继承JFrame类的HorseRaceLightTextFrame窗体类,代码如下: package com.example.horseracelig ...

  7. oracle 创建字段自增长——两种实现方式汇总(转)

    mysql等其他数据库中有随着记录的插入而表ID自动增长的功能,而oracle却没有这样的功能,我们有以下两种方式可以解决字段自增长的功能. 因为两种方式都需要通过创建序列来实现,这里先给出序列的创建 ...

  8. 有关windows在调试ODOO8.0有些问题

    继Ubuntu建筑物8.0调试环境后,,尝试windows设置开发环境. 最后的调试和开发,或将返回Linux环境,由于前一段时间手贱,改变分区表,该grub搞哈.哎!后来重建mbr,手动检索分区表( ...

  9. 三款经常使用IP发包工具介绍

    AntPower 版权全部© 2003 技术文章http://www.antpower.org 第1 页共14 页AntPower-技术文章三款经常使用IP 发包工具介绍小蚁雄心成员郎国军著lgj@q ...

  10. 使用javascript实现html文字不可选

    如何使用js让html该文本是不可选定它?首先想到的是用css选择实现,如下面: -webkit-touch-callout: none; -webkit-user-select: none; -kh ...