关于.NET微服务最热门的问题解答
點擊藍字
關注我們
在我們最近讓我們一起學習 .NET的微服務專場活動中,我們收到了一些很好的問題。我們在現場已經回答很多問題,但我們想繼續回答一些在會議中出現的最熱門的問題。如果你錯過了現場直播,不要擔心,因為你可以按需觀看。
我們一起學習 .NET:https://letslearndotnet.splashthat.com/
當我們擴展這些服務時,我們如何擴展與這些服務相關的數據庫?
有一些定義良好的模式和最佳實踐可以提高性能和擴展數據庫。想要了解如何將數據劃分為分區,以提高可伸縮性、減少和優化性能, 請參閱水平、垂直和功能性數據分區。想要深入研究微服務的伸縮性,分布式數據,為什么每個微服務都有數據庫,在關系數據庫和NoSQL數據庫之間進行選擇,請參考我們關于為Azure構建云原生.net應用程序的指導或下載免費的電子書。
水平、垂直和功能性數據分區:https://docs.microsoft.com/en-us/azure/architecture/best-practices/data-partitioning
為Azure構建云原生.net應用程序:https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/distributed-data
免費的電子書:https://dotnet.microsoft.com/learn/azure/architecture#ebook-cloud-native-azure-swimlane
我們是否需要為每個微服務使用一個新的數據庫,或者微服務可以共享相同的數據庫實例?
團隊使用微服務的自主性是構建云原生應用的一個重要好處。為了能夠使團隊能夠靈活地在生產中推出更新、安全補丁和bug修復,而不會破壞其他微服務, 最好使用獨立的數據庫實例。原生云應用架構的靈感來自于著名的12要素應用程序方法論。其中一個因素“支持服務”指出,數據存儲、緩存、消息代理等輔助資源應該通過一個可尋址URL公開。云提供商提供了各種各樣豐富的托管支持服務。我們建議檢查云中可用的數據庫選項,而不是自己擁有和維護數據庫。
12要素應用程序方法論:https://12factor.net/
可用的數據庫選項:https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/relational-vs-nosql-data
單個Web API能與微服務通信嗎?
是的。如果微服務的端點在基礎設施中是可到達的,或者使用公共端點安全地訪問,那么單片應用程序可以與微服務進行通信。微服務及其數據可以通過其端點進行同步消費,或也可以通過消息傳遞(如事件總線)進行異步消費。作為現代化技術的一部分,我們推薦有助于漸進地遷移舊系統的扼殺模式。作為解決方案的一部分,您需要創建一個阻止請求的fa?ade。fa?ade將這些請求路由到舊應用程序或新服務。想要了解更多關于微服務通信和現代化技術的信息,請參閱.net體系結構指南。
扼殺模式:https://docs.microsoft.com/en-us/azure/architecture/patterns/strangler-fig
.net體系結構指南:https://dotnet.microsoft.com/learn/aspnet/microservices-architecture
如果微服務是松散耦合和獨立部署的,它們如何相互通信?如何在微服務之間同步數據?
這是個很好的問題。在《為Azure構建云原生.net應用程序》一書的兩個章節中詳細解釋了這個問題。這些鏈接會對你有所幫助:
原生云通信模式或下載免費電子書。
在分布式應用中管理數據。
你也可以下載關于微服務架構指南的免費電子書,其中涵蓋了一些模式,如DDD、CQRS、事件源等。
《為Azure構建云原生.net應用程序》:https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/
原生云通信模式:https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/communication-patterns
在分布式應用中管理數據:https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/distributed-data
微服務需要使用容器嗎?
沒有必要的。然而,使用容器也有它的好處。微服務,通常稱為微服務體系結構,是設計指導和最佳實踐。它幫助您將應用程序分解為由特定業務邊界定義的多個較小的服務,這些服務由較小的團隊獨立管理。容器將應用程序及其配置和依賴項組合成一個單獨的、獨立的可部署單元。容器非常適合綁定和部署獨立的微服務。您可以通過編寫第一個微服務端點并將其容器化來了解其好處。
編寫第一個微服務端點:https://dotnet.microsoft.com/learn/aspnet/microservice-tutorial/intro
更多的microservices資源
您是否正在尋找更多用于.net開發的微服務和本地云資源?請持續關注微軟的blog和官方文檔。有任何問題,歡迎來Microsoft Q&A 論壇提問:https://docs.microsoft.com/en-us/answers/products/dotnet。
blog:https://devblogs.microsoft.com/
總結
以上是生活随笔為你收集整理的关于.NET微服务最热门的问题解答的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ML.NET Cookbook:(5)如
- 下一篇: 技术分享|手机推送原理剖析指南