啥 啥 啥,服務治理是個啥

2022-03-26 12:53:28 字數 1527 閱讀 7698

首先,先說下服務治理的邊界,本質上任何能提公升服務可用性,效能,讓服務更穩定等等,只要是能讓服務執行的更好,都屬於服務治理的範疇。服務治理比較常見的話題:服務發現,服務變更管理,服務監控,服務擴容縮容,服務自我保護,服務降級,服務授權防攻擊,服務上線驗證和灰度發布,服務問題定位和跟蹤,服務負載,服務例項的排程等等。

微服務是最近幾年才興起的概念。簡單點講,就是把複雜的大應用,解耦拆分成幾個小的應用。這樣做的好處有很多。比如,這樣有利於團隊組織架構的拆分,畢竟團隊越大協作的難度越大;再比如,每個應用都可以獨立運維,獨立擴容,獨立上線,各個應用之間互不影響。不用像原來那樣,乙個小功能上線,整個大應用都要重新發布。

不過,有利就有弊。大應用拆分成微服務之後,服務之間的呼叫關係變得更複雜,平台的整體複雜熵公升高,出錯的概率、debug 問題的難度都高了好幾個數量級。所以,為了解決這些問題,服務治理便成了微服務的乙個技術重點。

所謂服務治理,簡單點講,就是管理微服務,保證平台整體正常、平穩地執行。服務治理涉及的內容比較多,比如鑑權、限流、降級、熔斷、監控告警等等。這些服務治理功能的實現,底層依賴大量的資料結構和演算法。

關於微服務框架,目前國內常見的是springcloud技術棧dubbo技術棧,前者多為rest服務(http),後者多為rpc服務,一般來說rest 服務呼叫效能會比 rpc 低一些,注意本質上來講rest也可以認為是一種rpc。技術棧支援上來說,springcloud由於引入了很多依賴元件,特別是netflix的那一套元件,上手簡單,但是隨著最近幾年阿里對於dubbo社群的投入增加,dubbo相關元件也慢慢活躍起來,比如nacos、sentinel、rocketmq、seata這些,最近兩年也搞了乙個spring cloud alibaba,其中就整合了上述所說的幾個元件。

spring cloud alibaba 是阿里巴巴提供的微服務開發一站式解決方案,是阿里巴巴開源中介軟體與 spring cloud 體系的融合。

關於限流熔斷降級,目前開源框架有hystrix和sentinel。比如sentinel 是面向分布式服務架構的流量控制項,主要以流量為切入點,從流量控制、熔斷降級、系統自適應保護等多個維度來幫助您保障微服務的穩定性。關於下流,一般會根據不同場景進行不同的限流操作,常見的有令牌桶和漏斗限流演算法。

關於配置中心,目前常見的有apollo、disconf、nacos,其中apollo是目前國內使用較多的,nacos目前也是阿里主推的,其發展潛力也不容小覷。關於註冊中心,大都是基於ap或者cp來實現,比如常見的eureka、nacos、etcd等等。

服務治理內容涉及較多,在這裡就不一一展開贅述了,感興趣的小夥伴可以根據文章開頭的內容自行google即可。

推薦閱讀

轉int啥啥啥的

1 string轉int型別的話。需要用double.valueof 這寫string型別的資料 intvalue 2 保留小數點 float scale float 100 decimalformat fnum new decimalformat 0.00 string dd fnum.forma...

樹狀陣列的那啥啥啥

emmmmm,在我們學習樹狀陣列之前,我們應該知道lowbit n 運算,lowbit n 定義為非負整數n在二進位制下 最低位的1及後面所有的0 構成的數值,例如n 10的二進位制表示為 1010 2 則 lowbit n 2 10 2 顯然可知 lowbit n n and sim n 1 n ...

想到啥寫啥

真的太久沒寫過部落格了。自從msn的blog關掉以後就就沒怎麼正經寫過 好像之後還寫過一編年終總結 就得blog沒了,搬遷到sina之後在公司有不好登入,趁今天生病在家修養,稍微記錄一下流水漲。最近一段時間得到了公司支援,推行了一段不太完整的 敏捷開發 不完整,是因為只有開發在做,並沒有推行到測試 ...