.net Core 微服務架構技術棧


一、微服務的概念

  微服務概念據說是在2011到2012年時候出現的,具體時間不清楚了,大家可以私下去了解一下,當時一出現就對互聯網產生巨大影響,博主每每都能聽到同事或同行的討論,咱們繼續往下說,微服務因其理念剛好服務“分而治之”的思想,在互聯網行業內,很多家公司難免不存在一個超過10年之久的程序,經過幾代人的維護,顯得過於冗余和龐大,后來的人在對系統不熟悉的情況下,很艱難的去維護。剛剛說到“分而治之”(解釋:分別治理。2.利用手段使國家、民族或宗教等產生分裂,然后對其進行控制和統治。)是微服務的思想。理解了這個思想,就可以來設計你的系統架構。

  具體思路:可以對每個業務進行拆分為微服務,微服務自治,數據,緩存,接口都是自我管理。微服務之間的通信一般約定為接口間的通訊和異步消息的通訊。微服務於微服務組合共同提供外部的接口,可以形成更大的服務。

二、構建微服務相關點

  上面說到把獨立的業務拆分成不同的微服務,一般表現為下列幾點:

  1.身份認證服務(IdentityServer4)

  2.服務的注冊和發現(集成Consul)

  3.服務之間的通訊和效率(通訊使用HttpWebApi,效率較低,有崩潰的可能性)

  4.服務之間的事務性(ACID CAP或者異步通訊和人工干預,比如rebitmq)

  5.服務的對外網關(Ocelot)

  6.服務間的異步通訊,消息(使用rebitmq組件)

  7.服務的日志系統(log4+rebitmq)

  8.服務的監控(暫時沒想到)

  9.服務部署和彈性伸縮(docker+k8s)

  以上這些,我選擇使用asp.net core api方式來構建,因為本人一直從事.net開發,主要是思路,思路才是最值錢的,哈哈哈!

  暫時只想到這些,各位博友可以提供一些信息,以上這些都是大型微服務分布式應用的難題,可以一起攻克

三、微服務架構圖(請各位博友和大牛多多指教)

  

 

四:微服務總結

  上面說所的一系列組件,不一定要非常完美的解決掉上線,可以按照自己的規模和實際技術積累進行優化,在運行和維護時,才能發現問題,一步步解決吧!

  微服務應該提早規划好,怎么支持分布式事務,這是重點中的重點!

 

   本人也是第一次學習微服務,全是自己慢慢摸索所得結論,肯定有不合理的地方,希望各位博友多多指導!

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM