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