
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)桂林,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):18980820575
隨著云原生微服務(wù)的日益火熱,很多人都開(kāi)始對(duì)微服務(wù)的相關(guān)知識(shí)內(nèi)容感興趣。本篇內(nèi)容,旨在掃盲(意思是小白可入),希望能對(duì)大家有幫助。如有問(wèn)題,歡迎大家一起討論,共同學(xué)習(xí)進(jìn)步。
互聯(lián)網(wǎng)初期, 2G還是個(gè)時(shí)髦詞兒,人們的需求也很樸實(shí),一個(gè)靜態(tài)網(wǎng)站告訴大家我是誰(shuí)、一個(gè)留言板讓大家能夠與我聯(lián)系,就能滿(mǎn)足信息傳播和互相交流的需要。于是碼農(nóng)們給我們提供了這樣一套解決方案: 界面+業(yè)務(wù)處理+數(shù)據(jù)處理,通過(guò)一個(gè)zip包就可完成所有的事情,這也就是服務(wù)架構(gòu)的 單體架構(gòu)時(shí)代。
圖片為作者原創(chuàng)
隨著3G的普及,越來(lái)越多的人們可以通過(guò)PC上網(wǎng)了,此時(shí)BBS、門(mén)戶(hù)咨詢(xún)網(wǎng)站的出現(xiàn)開(kāi)始吸引著大量觀(guān)眾。當(dāng)漂亮的交互更能抓人眼球、有趣的信息瞬間引爆千萬(wàn)用戶(hù)在線(xiàn)圍觀(guān)時(shí),“并發(fā)“問(wèn)題產(chǎn)生了,于是碼農(nóng)們加班奮戰(zhàn),將系統(tǒng)分為前端和后端,通過(guò)拆分出可復(fù)用的中間件,來(lái)提升業(yè)務(wù)處理能力、解決并發(fā)問(wèn)題,這便是 分層架構(gòu)時(shí)代的到來(lái)。
圖片為作者原創(chuàng)
后來(lái),互聯(lián)網(wǎng)進(jìn)入微博時(shí)代,幾乎網(wǎng)民都有Blog,打開(kāi)手機(jī)就刷weibo。而此時(shí)的分層架構(gòu)面對(duì)更復(fù)雜服務(wù)要求時(shí),在應(yīng)用擴(kuò)展、服務(wù)調(diào)用、擴(kuò)容等方面都越發(fā)桎梏,于是服務(wù)架構(gòu)走進(jìn)了面向服務(wù)的架構(gòu)(SOA)時(shí)代。SOA網(wǎng)上說(shuō)的很多,這里列舉幾個(gè)關(guān)鍵詞: 中心化的服務(wù)治理, ESB(企業(yè)服務(wù)總線(xiàn))中心化、服務(wù)之間通過(guò)精確定義的接口進(jìn)行通訊、耦合度更低、擴(kuò)展性更高、維護(hù)成本較高。
圖片為作者原創(chuàng)
又過(guò)了幾年,電商掀起了各個(gè)時(shí)節(jié)的線(xiàn)上大促活動(dòng),與之伴隨而來(lái)的還有持續(xù)交付、灰度發(fā)布、服務(wù)限流、容錯(cuò)保護(hù)、鏈路跟蹤、日志監(jiān)控、彈性伸縮等等一大串需求,也還有程序員日益見(jiàn)禿的頭頂和度數(shù)越來(lái)越深的眼鏡。當(dāng)運(yùn)維壓力已經(jīng)趕不上業(yè)務(wù)的快速發(fā)展時(shí), 微服務(wù)時(shí)代來(lái)臨。可以這樣理解,微服務(wù)架構(gòu)也是SOA架構(gòu)分布式化的一種實(shí)現(xiàn)方式。它的優(yōu)勢(shì)在于小而治之、去中心化,但與之對(duì)應(yīng)的問(wèn)題是,你要管理越來(lái)越多的微服務(wù)。而如何進(jìn)行微服務(wù)拆分和服務(wù)治理,是十分考驗(yàn)?zāi)芰Φ脑嚱鹗?/p>
縱觀(guān)前后,服務(wù)架構(gòu)歷次的迭代更新,都是圍繞著用戶(hù)如何節(jié)約成本和提升效率,來(lái)解決不斷出現(xiàn)的新問(wèn)題, 微服務(wù)就是服務(wù)架構(gòu)演進(jìn)史的產(chǎn)物之一。
圖片為作者原創(chuàng)
微服務(wù)最流行的定義是由 Martin Fowler 與 James Lewis 于 2014 年共同提出。引用老爺子們的說(shuō)法:

根據(jù)InfoQ發(fā)布的2019架構(gòu)和設(shè)計(jì)領(lǐng)域趨勢(shì)報(bào)告顯示,微服務(wù)架構(gòu)已經(jīng)走過(guò)了盲目追捧階段,開(kāi)始逐漸走向成熟,走向切實(shí)可落地階段。
圖片來(lái)源:InfoQ發(fā)布的2019架構(gòu)和設(shè)計(jì)領(lǐng)域趨勢(shì)報(bào)告
在我們選擇之前,先來(lái)看看有什么能夠選的?
1、微服務(wù)框架的分類(lèi)
目前市場(chǎng)上已經(jīng)出現(xiàn)的微服務(wù)框架非常多,他們各有所長(zhǎng)。常見(jiàn)的微服務(wù)框架都有哪些呢?
如果從常見(jiàn)微服務(wù)框架形式分類(lèi)來(lái)看,目前主要分為4類(lèi)。
如果按照目前的主流生態(tài)體系來(lái)看,目前有三大生態(tài)體系:
這里特提供了官方地址供大家學(xué)習(xí),本文不再詳細(xì)展開(kāi)討論,每一個(gè)家族都需要熬夜掉一把頭發(fā),潛心實(shí)踐和學(xué)習(xí)才能掌握。
總而言之,微服務(wù)的核心是服務(wù)治理,而服務(wù)治理就需要好的微服務(wù)框架,要不然微服務(wù)化可能是災(zāi)難!但做為用戶(hù),選擇適合自己實(shí)際情況的才是最好的。
2、選擇適合自己的微服務(wù)框架
那么我們?cè)撊绾芜x擇微服務(wù)框架呢?依賴(lài)于業(yè)務(wù)特點(diǎn)和技術(shù)能力。先選定方向,再研究技術(shù)細(xì)節(jié)。下面關(guān)于方向選擇的思路供各位參考:
如果你的業(yè)務(wù)模塊與服務(wù)治理是整合在一起的,依托特定開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)框架,通過(guò)配置來(lái)調(diào)整規(guī)則和策略,依賴(lài)業(yè)務(wù)上線(xiàn)對(duì)服務(wù)治理進(jìn)行功能升級(jí),那么你可能比較適合集成方式進(jìn)行服務(wù)治理。你可以在Spring Cloud、Dubbo生態(tài)中去選擇合適自己的方式。
如果你的業(yè)務(wù)模塊與服務(wù)治理是分開(kāi)的,與開(kāi)發(fā)語(yǔ)言無(wú)關(guān)、與開(kāi)發(fā)框架無(wú)關(guān),通過(guò)動(dòng)態(tài)調(diào)整來(lái)配置運(yùn)行時(shí)各種規(guī)則和策略,服務(wù)治理功能升級(jí)獨(dú)立于業(yè)務(wù)模塊,那么你可能比較適合服務(wù)網(wǎng)格的方式進(jìn)行服務(wù)治理。你可以在云原生家族中去選擇合適自己的方式,比如嘗試下Istio。
3、什么時(shí)候引入微服務(wù)?
微服務(wù)不是萬(wàn)能的,換句話(huà)說(shuō),微服務(wù)未見(jiàn)得適合于你。

1)天時(shí)
在業(yè)務(wù)運(yùn)行初期,如果你是單業(yè)務(wù)系統(tǒng)架構(gòu),如果業(yè)務(wù)量不大且復(fù)雜性不高,如果你追求快速響應(yīng)、開(kāi)拓服務(wù)、節(jié)省成本、提高效率,那么你可能真的用不著微服務(wù)。比如你如果只是要用CMS做一套公司網(wǎng)站,那真的可能不用微服務(wù)這把牛刀。當(dāng)隨著你的業(yè)務(wù)進(jìn)入擴(kuò)展期,你的系統(tǒng)架構(gòu)開(kāi)始走向面向服務(wù)架構(gòu),業(yè)務(wù)不斷擴(kuò)大,業(yè)務(wù)系統(tǒng)復(fù)雜性不斷提高,但效率在不斷下降,那么這個(gè)時(shí)候你可以開(kāi)始考慮業(yè)務(wù)拆分、使用微服務(wù)了。
2)地利
如果要進(jìn)行微服務(wù)改造,還需要具備一定的資源條件,如物理機(jī)資源、網(wǎng)絡(luò)資源。舉個(gè)例子:假設(shè)一個(gè)電商平臺(tái),現(xiàn)狀如圖。如果業(yè)務(wù)框架不那么復(fù)雜則可考慮不用微服務(wù)架構(gòu)。而如果需要進(jìn)行微服務(wù)改造,那么至少需要準(zhǔn)備規(guī)劃好如下資源:

3)人和
如果要享受微服務(wù)帶來(lái)的優(yōu)勢(shì),就需要接受微服務(wù)帶來(lái)的挑戰(zhàn)。比如:
總之,使用微服務(wù)也是需要天時(shí)地利人和的,使用的過(guò)程也不要一蹴而就,服務(wù)治理是巨大的挑戰(zhàn)。
你的業(yè)務(wù)適合微服務(wù)嗎?我收集整理了幾個(gè)最簡(jiǎn)單的問(wèn)題以供快速自測(cè):

簡(jiǎn)單來(lái)說(shuō)4步走:

其實(shí)每一步都有可能會(huì)有“坑”,這里面都是學(xué)問(wèn),都可獨(dú)立成章。因此,本文不詳細(xì)展開(kāi),以后再寫(xiě)相關(guān)內(nèi)容文章詳談。
但是,Demo可以快速幫我們一探究竟,這里我選擇了京東智聯(lián)云的微服務(wù)平臺(tái)來(lái)做體驗(yàn)。
為啥是云上公有云產(chǎn)品?
因?yàn)槲⒎?wù)的體系太復(fù)雜龐大了,如果你自建,1個(gè)人搞不定1個(gè)團(tuán)隊(duì)的工作內(nèi)容。
還因?yàn)樵凇霸啤鄙鲜峭泄芊?wù),少運(yùn)維,所見(jiàn)即所得組件多,開(kāi)源、多可用區(qū)、上手夠簡(jiǎn)單夠快、學(xué)習(xí)和使用成本低呀。
簡(jiǎn)單總結(jié)下我的學(xué)習(xí)路徑:
1、體驗(yàn)“云”上高可用注冊(cè)中心
如果您已有成熟的微服務(wù)項(xiàng)目,目前正在上云過(guò)程中,希望享受 “云” 帶來(lái)的注冊(cè)中心多可用區(qū)部署、最大程度的保證集群高可用的能力。那么可以直接使用微服務(wù)平臺(tái)的命名空間注冊(cè)中心功能。目前JDSF支持的微服務(wù)框架包含:SpringCloud、Dubbo、JSF。使用大致步驟如下:

入門(mén)示例參見(jiàn): https:// distributed-service-framework/basic-example https:// distributed-service-framework/basic-example https:// distributed-service-framework/demo-deploy-k8s https:// distributed-service-framework/gw_vpc
怎么樣,微服務(wù)看上去是不是又沒(méi)有那么抽象、那么難、那么抓狂了呢?!更多內(nèi)容下次再分解。


歡迎點(diǎn)擊“ 京東智聯(lián)云 ”了解更多精彩內(nèi)容!


網(wǎng)站欄目:微服務(wù)的理想與現(xiàn)實(shí)
網(wǎng)站網(wǎng)址:http://chinadenli.net/article44/jigehe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、App設(shè)計(jì)、搜索引擎優(yōu)化、網(wǎng)頁(yè)設(shè)計(jì)公司、微信小程序、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容