最近博客園出現(xiàn)了一篇文章《微服務時代之2017年五軍之戰(zhàn):Net PHP誰先死》,掀起了一波撕逼,作者只是從一個使用者的角度來指點江山,這個姿勢是不對的。.NET Core就是專門針對模塊化的微服務架構而設計,在微服務架構這方面Java的Spring Cloud具有非常高的人氣,這個正是這篇文章作者的立腳點。然后他沒有看到蓬勃發(fā)展的.NET 社區(qū)的微服務的相關框架,本文主要梳理下當前.NET社區(qū)微服務的相關項目的匯集。 1、 Service Fabric微軟作為.NET的主戰(zhàn)場,自然在當前的微服務框架上有著豐富的經(jīng)驗,這一領域的代表作就是Azure Service Fabric,在Azure上的眾多云服務都是基于Servie Fabric構建,而且微軟已經(jīng)明確表態(tài)了Service Fabric將開源,Runtime還沒開源,說有計劃開源,但目前因為依賴于很多內(nèi)部工具、組件,在逐步推進runtime的開源進程,具體可以看下我寫的一篇博客《期待微軟平臺即服務技術Service Fabric 開源》。如果你是基于Azure平臺來開發(fā),你完全可以使用Service Fabric 做應用開發(fā)。當然你如果是在你私有云里用他,也是完全可以的,具體案例我舉一個就是騰訊游戲:https://customers.microsoft.com/en-us/story/tencent-telecommunications-azure-service-fabric-windows-server-en 這里列出1個Github 以Service Fabric 開發(fā)微服務的項目: https://github.com/danielmarbach/Microservices.ServiceFabric 2、Steeltoe OSS在微服務架構這方面Spring Cloud具有非常高的人氣,如果你在使用Spring Cloud,可以使用開源項目https://github.com/steeltoeoss 開發(fā).NET Core應用,具體可以參考這篇文章Enabling .NET Core Microservices with Steeltoe and Pivotal Cloud Foundry . 3、Microdot Frameworkhttps://github.com/gigya/microdot,這是一個4月份才開源的.NET微服務框架,讓您專注于編寫定義服務邏輯的代碼,無需解決開發(fā)分布式系統(tǒng)的無數(shù)挑戰(zhàn),可以很好的Microsoft Orleans的集成。 4、.NET China Foundation.NET China Foundation 也組織整合了系列國內(nèi)社區(qū)開源項目,里面有多個項目都是以微服務為方向,歡迎大家加入一起來把.NET Core的微服務玩好。 https://github.com/dotnetcore/CAP https://github.com/dotnetcore/surging https://github.com/dotnetcore/Util 5、其他眾多開源的微服務架構項目.NET社區(qū)里還有很多微服務的項目,下面我就簡要列出他們在Github上的地址: 1、Xigadeehttps://github.com/xigadee/Microservice 2、Apworks frameworkhttps://github.com/daxnet/apworks-core https://github.com/daxnet/apworks-examples 3、Cronushttps://github.com/Elders/Cronus 4、NancyFxhttps://github.com/Cimpress-MCP/Cimpress.Nancy 5、GRPChttps://github.com/pchalamet/GrpcConsul 6、API 網(wǎng)關Ocelothttps://github.com/TomPallister/Ocelot ,Ocelot是一個使用.NET Core平臺上的一個API Gateway,這個項目的目標是在.NET上面運行微服務架構,我在年初基于Ocelot做了一個POC項目 https://github.com/geffzhang/NanoFabric ,目前已經(jīng)上線運行。同時也在不斷的豐富Ocelot的功能。 簡要的列了一下.NET 平臺上的微服務開發(fā)的相關類庫,歡迎大家推薦你用過的微服務的相關類庫,在最后推薦一個.NET上歸屬與.NET 基金會下面的開源項目:https:///projects?type=project 這里可以找到你想要的項目。 |
|
來自: ThinkTank_引擎 > 《.net》