原文: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