瞭解什麼是微服務

原文地址: itweknow.cn/detail?id=4… , 歡迎你們訪問。服務器

什麼是微服務

先來講一下概念,微服務就是一羣協同工做且小而自治的服務。在微服務中存在下面這些特徵:網絡

1.內聚性

什麼是內聚性呢,就是將因相同緣由而改變的東西聚在一塊兒,因不一樣緣由而改變的東西分離開來,這麼一種隔離形態。架構

2.小

微服務這個名詞聽起來就有小的特色,那麼小到什麼程度才能叫作小呢,其實這個小的把控是微服務裏面很難把控的一個東西。其實,咱們只要可以保證在兩週左右可以對整個服務器進行重構甚至更換其技術棧,就能稱之爲小。微服務

3.低耦合

服務之間獨立運行,相互之間不影響,不會由於某一個服務的不可用而致使整個系統的癱瘓,從新部署某一個微服務對其餘服務器不會產生仍和影響,其實這個也是微服務架構設計過程當中的一個黃金法則。性能

4.網絡通訊

服務之間協同工做的方式是經過網絡通訊方式來進行數據交換等操做。架構設計

微服務的優勢

說完什麼是微服務,那麼咱們就來討論一下微服務有哪些優勢唄,爲啥如今互聯網公司廣泛都採用微服務的架構。設計

1.技術異構性
  • 微服務相互之間的耦合度很低,且服務之間的調用走的是網絡通訊,對服務的具體實現方式並無強制要求,因此咱們能夠在不一樣的服務中採用更適合這個服務的技術棧。
  • 小,咱們能夠在不是很重要的服務上引用新的技術而沒必要擔憂新的技術會對整個系統產生破壞性的影響。並且就算出現問題,上面也說了微服務,小嘛,咱們徹底能夠在兩週內完成它的重構甚至是重寫。
2.彈性

由於內聚性高,分工明確,因此當系統出現問題的時候,咱們很容易定位出是哪一個服務出現了問題,並很快修復。資源

3.擴展
  • 很容易進行擴展,當某個微服務所在的服務器不夠用的時候,咱們只須要爲該服務添加機器便可,而不須要給整個系統都增長服務器配置。
  • 靈活,咱們能夠將一些並不要求性能或者很小的服務放在配置較差的服務器上運行,動態靈活的分配服務器資源。甚至有時候能夠經過這種方式來節省研發成本。
4.簡化部署

修改了哪一個服務就發佈哪一個服務,不須要發佈整個系統,在操做和風險上都很棒。部署

5.匹配組織結構

一般一個微服務只須要幾我的的小團隊來維護就好,咱們你們應該也知道,一般狀況下小團隊的工做效率會比大團隊高上很多。get

其餘的分解技術

1.共享庫

實際上就是Java中的jar包吧,這個仍是會限制咱們的技術選型,由於通常共享庫的引入基本上都是要求同種語言退其次也要求同一平臺下的技術環境。還有一個問題就是共享庫的版本維護很困難,若是一個庫在多個項目中被引用,那麼咱們更新起來會很麻煩。

2.模塊

主流的Java8還不支持這一點。

相關文章
相關標籤/搜索