原文:ENode框架单台机器在处理Command时的设计思路

设计目标 尽量快的处理命令和事件,保证吞吐量 处理完一个命令后不需要等待命令产生的事件持久化完成就能处理下一个命令,从而保证领域内的业务逻辑处理不依赖于持久化IO,实现真正的in memory 保证命令 事件处理的顺序性,先来的先处理,先产生的先处理 保证一个聚合根的事件只有一个线程在持久化,并按事件产生的顺序持久化 持久化事件时如果遇到并发冲突时 聚合根ID 事件版本号出现重复 的处理代价要轻 ...

2016-02-03 19:12 3 3080 推荐指数:

查看详情

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 1.0 - 框架的物理部署思路

enode框架的物理部署: 物理部署思路:集群的web站点+分布式缓存和存储 集群的概念:多台机器 ...

Mon Jul 08 21:00:00 CST 2013 8 2747
ENode框架Conference案例分析系列之 - 订单处理减库存的设计

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

Tue Jun 30 08:38:00 CST 2015 19 5106
ENode 2.0 - 介绍一下关于ENode中对Command的调度设计

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

Mon Jan 26 08:24:00 CST 2015 11 3155
ENode 1.0 - 消息的重试机制的设计思路

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

Mon Aug 05 07:30:00 CST 2013 18 4395
ENode框架Conference案例分析系列之 - 架构设计

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

Wed Jun 24 20:52:00 CST 2015 14 4305
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM