天天看點

ENode架構使用場景簡述

enode是一個.net平台下,純c#開發的,基于ddd,cqrs,es,eda,in-memory架構風格的,可以幫助開發者開發高并發、高吞吐、可伸縮、可擴充的應用程式。

開源項目位址:https://github.com/tangxuehua/enode

enode可能的應用場景如下:

當你正在找一個ddd的開發架構時,可以考慮enode;

當你想找一個cqrs架構的實作架構時,可以考慮enode;當你的系統具有大量的寫入,同時又有更大量的讀取時,隻要系統能接受寫入資料和讀取資料的最終一緻性(秒級),那就可以考慮使用enode;enode可以讓我們對讀寫兩端做不同的技術架構,分開優化,互不影響;

當你的業務場景從使用者的角度去看,讀和寫操作就互相明确區分的,就是使用者在寫入或更新一個資料後不需要立即看到結果的場景,那就可以考慮使用enode;

當你想實作cqrs,但還是想能在command發送後可以同步擷取command處理結果時,可以使用enode;

當你要實作es模式時,可以使用enode;es的最大好處是整個系統的所有資料的變化都可以追溯其曆史,我們可以把資料還原到任意的某個曆史狀态;

當你要找一個異步的、事件驅動的應用開發架構時,可以考慮enode;enode在實作eda架構的同時,可以幫助我們自動從架構層面解決消息的幂等處理、消息不丢,以及并發處理等技術問題;

當你希望你的應用能支援高并發、高吞吐、可伸縮、可擴充這些非功能性需求時,可以考慮enode;

當你需要找一個saga開發架構來代替分布式事務時,可以考慮使用enode;

隻要你的系統需要滿足以上的若幹點,就可以考慮選擇使用enode。