自從京東和唯品會轉了Java,.NET就一直缺乏高並發電商案例,這裡為大家分享一家上市電商公司項目案例,純.NET Core技術架構電商平臺,雙11當天近10億GMV(文章底部有詳細信息介紹,還有高薪招聘崗位哦)!要能平穩承接這麼大體量的流量,整個系統架構都是很龐大且複雜的,分布式是必須的,而.NET Core的分布式事務方案則是重中之重了,今天就先捋一捋這個,後續繼續分享!
本文包含以下內容,共**1300**字,閱讀完大約需要**3**分鐘:
1、什麼是分布式事務;
2、多種分布式事務解決方案;
3、.NET Core分布式事務推薦;
4、實戰CAP分布式事務。
主流關係型資料庫都支持資料庫事務,能保障單資料庫實例內的ACID,然而如果一次操作中涉及到多個資料庫實例,就沒那麼簡單了。比如拜振華(建行卡)要給川建國(工行卡)轉帳,就需要建設銀行的資料庫和工商銀行的資料庫同時成功或者同時失敗才能確保有效性,然而這兩家銀行的資料庫並不好同步協調,分布式下是無法保障的,這就誕生了分布式事務的問題。
**所謂分布式事務,就是用於在分布式系統中保證不同節點之間的數據一致性。**
隨著分布式系統的流行,分布式事務的解決方案慢慢沉澱了4類解決方案:
1、兩階段提交(2PC) & 三階段提交(3PC)方案;
2、補償事務TCC(Try-Confirm-Cancel);
3、本地消息表(異步確保);
4、Sagas 事務模型。
關於這四類解決方案介紹的文章有很多,但並沒有相關的實際代碼或者是開原始碼,所以算不上什麼乾貨,如果大家關注細節理論分析,掃文末二維碼可以找到一篇**《1.4 w字,25 張圖讓你徹底掌握分布式事務原理》**的文章,可以慢慢看。下面還是談談.NET Core落地的分布式事務。
在 .NET 領域,成熟的分布式事務開源解決方案沒有幾個,下面給為大家推薦的,是微軟MVP-Savorboard開源的.NET分布式事務框架NCC CAP,支持.NET Framework、支持.NET Core,微軟開源eShopOnContainer也採納了該方案。下面是CAP框架特點:
1、CAP 同時支持 RabbitMQ,Kafka 等消息隊列;
2、CAP 同時支持 SQL Server, MySql, PostgreSql 等資料庫;
3、CAP提供了可視化界面(Dashboard),實時監控全節點狀況,同時支持中文和英文界面雙語言;
4、CAP 提供了豐富的接口可以供擴展,什麼序列化了,自定義處理了,自定義發送了統統不在話下;
5、CAP 基於MIT開源,你可以儘管拿去做二次開發。(記得保留MIT的License);
6、CAP具有優秀的消息處理能力,是最成熟的EventBus產品之一。
該分布式方案已經被大量公司應用於產品項目,經受了電商、金融等高並發項目考驗的,我目前推動的一個微服務架構的電商項目,在千萬並發壓測下,CAP也是毫無問題的。
分布式事務解決方案最重要的就是能經受生產環境的考驗,理論分析再透徹,抵不上生產環境走一遭。使用CAP框架2年多,也走了很多彎路踩了很多坑,但最終該框架真正解決了千萬並發微服務架構的分布式事務問題。
前幾天專門做了一波分布式事務的分享,分析了10億級GMV衝擊下的.NET Core項目如何做分布式事務選型、設計和落地要點,並基於NCC CAP落地了一個微服務架構下多節點最終一致性的分布式事務案例,其相關的視頻、腳本、筆記等,歡迎掃碼領取!還有那個**《1.4 w字,25 張圖讓你徹底掌握分布式事務原理》**,也可以領取哈。
掃碼添加好友即可免費獲取
該電商公司為武漢福祿網絡科技有限公司,2020年剛上市,同年雙11單日近10億GMV,核心業務系統架構全部為.NET Core,相關信息來源為福祿架構師Leo,也是武漢dotNET俱樂部發起人之一。
受其委託發個招聘,當下正在大量招聘前端和.NET工程師,優秀者月薪可以超過20k,感興趣的小夥伴兒可以掃碼加好友,幫忙轉發簡歷內推。
掃碼添加好友幫投簡歷
添加微信 zhaoxiNet007也可
我們幫助福祿也做過很多人才推薦,入職成功率相當高。參與內推機會更大!有想法的小夥伴可別錯過。常和他們開玩笑,說崗位內推是彼此成就。也是希望盡這一點點微薄之力能推動.NET社區的建設和發展,大家一起加油!