| 企服解答
微服務架構(microservice)是一項在云中圍繞業務領域組件來創建和部署應用和服務的新技術,由Martin Fowler于2012年提出。微服務架構構建的工具是Seneca,基本思想在于創建的應用可獨立地進行開發、管理和加速,在分散的組件中使用微服務云架構和平臺,使服務等功能的交付變得更加簡單。
微服務是什么
微服務不需要像普通服務那樣成為一種獨立的功能或者獨立的資源。定義中稱,微服務是需要與業務能力相匹配,這種說法完全正確。不幸的是,仍然意味著,如果能力模型粒度的設計是錯誤的,那么,我們就必須付出很多代價。如果你閱讀了Fowler的整篇文章,你會發現,其中的指導建議是非常實用的。在決定將所有組件組合到一起時,開發人員需要非常確信這些組件都會有所改變,并且規模也會發生變化。服務粒度越粗,就越難以符合規定原則。服務粒度越細,就越能夠靈活地降低變化和負載所帶來的影響。然而,利弊之間的權衡過程是非常復雜的,我們要在配置和資金模型的基礎上考慮到基礎設施的成本問題。
| 拓展閱讀
使用微服務架構能夠為我們帶來如下好處:
1、服務的獨立部署
每個服務都是一個獨立的項目,可以獨立部署,不依賴于其他服務,耦合性低。
2、服務的快速啟動
拆分之后服務啟動的速度必然要比拆分之前快很多,因為依賴的庫少了,代碼量也少了。
3、更加適合敏捷開發
敏捷開發以用戶的需求進化為核心,采用迭代、循序漸進的方法進行。服務拆分可以快速發布新版本,修改哪個服務只需要發布對應的服務即可,不用整體重新發布。
4、職責專一,由專門的團隊負責專門的服務
業務發展迅速時,研發人員也會越來越多,每個團隊可以負責對應的業務線,服務的拆分有利于團隊之間的分工。
5、服務可以動態按需擴容
當某個服務的訪問量較大時,我們只需要將這個服務擴容即可。
6、每個服務都提供 REST API,所有的基礎服務都必須抽出來,很多的底層實現都可以以接口方式提供。
[免責聲明]
文章標題: 微服務是什么
文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。