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

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

2014-07-22 01:32 26 4583 推荐指数:

查看详情

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

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

Mon Jan 26 08:24:00 CST 2015 11 3155
ENode 2.0 - 整体架构介绍

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

Sun Mar 09 06:52:00 CST 2014 33 25401
ENode框架Conference案例分析系列之 - 架构设计

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

Wed Jun 24 20:52:00 CST 2015 14 4305
ENode 1.0 - Saga的思想与实现

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

Sun Jun 23 00:17:00 CST 2013 13 14133
ENode 1.0 - Command Service设计思路

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

Tue Jul 09 06:26:00 CST 2013 2 2562
ENode 1.0 - 消息队列的设计思路

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

Fri Jul 12 08:51:00 CST 2013 33 10048
ENode框架Conference案例分析系列之 - 复杂情况的读库更新设计

问题背景 Conference案例,是一个关于在线创建会议(类似QCon这种全球开发者大会)、在线管理会议位置信息、在线预订某个会议的位置的,这样一个系统。具体可以看微软的这个项目的主页:http://cqrsjourney.github.io。 然后我们设计了一个Conference聚合根 ...

Thu May 07 07:41:00 CST 2015 8 2902
ENode框架Conference案例分析系列之 - 订单处理减库存的设计

前言 前面的文章,我介绍了Conference案例的业务、上下文划分、领域模型、架构,以及代码整体流程。接下来想针对案例中一些重要的场景,分别做进一步的分析。本文想先介绍一下Conference案例的核心业务场景 - 订单处理减库存的设计。 下单以及订单处理流程描述 下单 ...

Tue Jun 30 08:38:00 CST 2015 19 5106
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM