(1)學習筆記 ) ASP.NET CORE微服務 Micro-Service ---- 什麼是微服務架構,.netCore微服務選型

 

開發工具:VS2017 .Net Core 2.1web

 

什麼是微服務?
單體結構:api

 

缺點:
1)只能採用同一種技術,很難用不一樣的語言或者語言不一樣版本開發不一樣模塊;
2)系統耦合性強,一旦其中一個模塊有問題,整個系統就癱瘓了;一旦升級其中一個模塊,整個系統就停機了;
3)要上線必須一塊兒上線,互相等待,沒法快速響應需求;
4)集羣只能是複製整個系統,即便只是其中一個模塊壓力大;安全

 

微服務:
不一樣模塊放到不一樣的進程/服務器上,模塊之間經過網絡通信進行協做。
適用於:模塊比較多,訪問量比較大的互聯網類系統,並非全部項目都適合微服務服務器

 

優勢:
1)能夠用不一樣的語言或者語言不一樣版本開發不一樣模塊;
2)系統耦合性弱,其中一個模塊有問題,能夠經過「降級熔斷」等手段來保證系統不血崩;
3)能夠獨立上線,可以迅速響應需求;
4)能夠對不一樣模塊用不一樣的集羣策略,哪裏慢集羣哪裏。restful

 


缺點:
1)開發難度大,系統結構更復雜;
2)運行效率低;(網絡通信沒有進程通信快)網絡

 

微服務架構要處理哪些問題?
服務間通信;服務治理與服務發現;網關和安全認證;限流與容錯;監視等
第一代微服務:Dubbo(Java)、Orleans(.Net)等 和語言綁定緊密;
第二代微服務:Spring Cloud等 適合混合開發
第二代微服務:Service Mesh(Service Fabric(微軟內部使用的、開源的)、lstio、Conduit等)
目前:第三方微服務還在快速發展中,更新迭代比較快(還不完善)架構

 

.NetCore 微服務選型
爲何是.net Core?雖然.Net Framework也能夠實現微服務,可是.Net Core是爲雲而生,用來實現微服務更方便,並且.Net Core能夠跨平臺。(.Net Framewordk不會再有.Net5.x 下一代就是.Net Core)微服務

 

第二代微服務架構:Consul+Ocelot+.Net Core+Polly+.....;
騰訊.net大隊長張善友把騰訊內部的架構實戰整理出一個開源項目NanoFabric(Github上能夠搜到),NanoFabric不是一個獨立的技術,它只是幫咱們搭建好了,配置好了的一個腳手架,只是一個膠水項目,文檔不全,僅供咱們參考。工具

 

在SpringCloud中:EurekaServer作服務治理和服務發現、Hystrix作熔斷降級、Zuul作網關;
在NanoFabric中:Consul作服務治理和服務發現、Polly作熔斷降級、Ocelot作網關;開發工具

 

在微服務中,服務之間的通信有倆種主要形式:
1)Restful,也就是傳輸Json格式數據。.net中就是對應的webapi技術 效率比較低,數據冗餘,短鏈接
2)二進制RPC:二進制傳輸協議,比restful用的http通信效率更高,可是耦合性更強。技術有Thrift、gRPC等

 


此文檔是根據楊中科老師的.net Core微服務視頻和課件作的記錄

 

小哥哥 小姐姐們 若是本篇文章對大家有幫助的話 就點點右下角的推薦吧  0.0

相關文章
相關標籤/搜索