原创 通過Dapr實現一個簡單的基於.net的微服務電商系統(二十)——Saga框架實現思路分享

  今天這篇博文的主要目的是分享一下我設計Saga的實現思路來拋磚引玉,其實Saga本身非常的類似於一個簡單的工作流體系,相比工作流不一樣的部分在於它沒有工作流的複雜邏輯處理機制(比如會籤),沒有條件分支機制,相對工作流不同的部分在於工作流

原创 通過Dapr實現一個簡單的基於.net的微服務電商系統(十九)——分佈式事務之Saga模式

在之前的系列文章中聊過分佈式事務的一種實現方案,即通過在集羣中暴露actor服務來實現分佈式事務的本地原子化。但是actor服務本身有其特殊性,場景上並不通用。所以今天來講講分佈式事務實現方案之saga模式,並在文後附上代碼供各位讀者參考,

原创 淺談.net core如何使用EFCore爲一個上下文注類型注入多個實例用於連接主從數據庫

在很多一主多從數據庫的場景下,很多開發同學爲了複用DbContext往往採用創建一個包含所有DbSet<Model>父類通過繼承派生出Write和ReadOnly類型來實現,其實可以通過命名注入來實現一個類型註冊多個實例來實現。下面來用代碼

原创 通過Dapr實現一個簡單的基於.net的微服務電商系統(十八)——服務保護之多級緩存

  很久沒有更新dapr系列了。今天帶來的是一個小的組件集成,通過多級緩存框架來實現對服務的緩存保護,依舊是一個簡易的演示以及對其設計原理思路的講解,歡迎大家轉發留言和star 目錄:一、通過Dapr實現一個簡單的基於.net的微服務電商系

原创 通過dotnet-dump分析生產環境docker容器部署的應用問題

首先找到對應的docker id並exec進去,然後執行命令並更新apt包+下載procps和wget用於等下拉取dotnet-dump和查看線程 sed -i -e "[email protected]@[email protected]

原创 使用.net6 WebApplication打造最小API

  .net6在preview4時給我們帶來了一個新的API:WebApplication,通過這個API我們可以打造更小的輕量級API服務。今天我們來嘗試一下如何使用WebApplication設計一個小型API服務系統。   環境準備

原创 k8s筆記——NodePort暴露nginx-controller實現https自動跳轉自定義nodePort端口

安裝nginx-controller並暴露nodePort helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx/ helm repo update

原创 通過Dapr實現一個簡單的基於.net的微服務電商系統(十七)——服務保護之動態配置與熱重載

  在上一篇文章裏,我們通過注入sentinel component到apigateway實現了對下游服務的保護,不過受限於目前變更component需要人工的重新注入配置以及重啓應用更新component等等原因,對於真實的環境運維稍有難

原创 通過Dapr實現一個簡單的基於.net的微服務電商系統(十六)——dapr+sentinel中間件實現服務保護

  dapr目前更新到了1.2版本,在之前4月份的時候來自阿里的開發工程師發起了一個dapr集成Alibaba Sentinel的提案,很快被社區加入到了1.2的里程碑中並且在1.2 release 相關升級文檔裏可以看到已經實現了對Ali

原创 通過Dapr實現一個簡單的基於.net的微服務電商系統(十五)——集中式接口文檔實現

  之前有小夥伴在評論區留言說如何集成swagger,最開始沒有想透給了對方一個似是而非的回答。實際上後來下來想了一下,用.NET5 提供的Source Generator其實可以很方便的實現接口集成。今天就分享一下集中式接口文檔的方案 目

原创 通過Dapr實現一個簡單的基於.net的微服務電商系統(十三)——istio+dapr構建多運行時服務網格之生產環境部署

  之前所有的演示都是在docker for windows上進行部署的,沒有真正模擬生產環境,今天我們模擬真實環境在公有云上用linux操作如何實現istio+dapr+電商demo的部署。 目錄:一、通過Dapr實現一個簡單的基於.ne

原创 通過Dapr實現一個簡單的基於.net的微服務電商系統(十四)——開發環境容器調試小技巧

  之前有很多同學提到如何做容器調試,特別是k8s環境下的容器調試,今天就講講我是如何調試的。大家都知道在vs自帶的創建項目模板裏勾選docker即可通過F5啓動docker容器調試。但是對於啓動在k8s則不是那麼清楚。其實兩者原理上是一樣

原创 通過Dapr實現一個簡單的基於.net的微服務電商系統(十二)——istio+dapr構建多運行時服務網格

  多運行時是一個非常新的概念。在 2020 年,Bilgin Ibryam 提出了 Multi-Runtime(多運行時)的理念,對基於 Sidecar 模式的各種產品形態進行了實踐總結和理論昇華。那到底什麼是多運行時呢?首先還是得從分佈

原创 通過Dapr實現一個簡單的基於.net的微服務電商系統(十一)——一步一步教你如何擼Dapr之自動擴/縮容

  上一篇我們講到了dapr提供的bindings,通過綁定可以讓我們的程序輕裝上陣,在極端情況下幾乎不需要集成任何sdk,僅需要通過httpclient+text.json即可完成對外部組件的調用,這樣只需要對外暴露一個輕量級的http服

原创 通過Dapr實現一個簡單的基於.net的微服務電商系統(十)——一步一步教你如何擼Dapr之綁定

  如果說Actor是dapr有狀態服務的內部體現的話,那綁定應該是dapr對serverless這部分的體現了。我們可以通過綁定極大的擴展應用的能力,甚至未來會成爲serverless的基礎。最開始接觸dapr的時候,會在其官方首頁看到這