成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

還不懂微服務(wù)原理?阿里高級(jí)技術(shù)專家?guī)憧赐肝⒎?wù)的來(lái)龍去脈

開(kāi)發(fā) 架構(gòu)
所謂的微服務(wù)是SOA架構(gòu)下的最終產(chǎn)物,該架構(gòu)的設(shè)計(jì)目標(biāo)是為了肢解業(yè)務(wù),使得服務(wù)能夠獨(dú)立運(yùn)行。

 我們先看下維基百科和百度百科給出的定義:

維基百科:2014年,Martin Fowler 與 James Lewis 共同提出了微服務(wù)的概念,定義了微服務(wù)是由以單一應(yīng)用程序構(gòu)成的小服務(wù),自己擁有自己的行程與輕量化處理,服務(wù)依業(yè)務(wù)功能設(shè)計(jì),以全自動(dòng)的方式部署,與其他服務(wù)使用 HTTP API 通信。同時(shí)服務(wù)會(huì)使用最小的規(guī)模的集中管理 (例如 Docker) 能力,服務(wù)可以用不同的編程語(yǔ)言與數(shù)據(jù)庫(kù)等組件實(shí)現(xiàn)。

[[279106]]

百度百科:所謂的微服務(wù)是SOA架構(gòu)下的最終產(chǎn)物,該架構(gòu)的設(shè)計(jì)目標(biāo)是為了肢解業(yè)務(wù),使得服務(wù)能夠獨(dú)立運(yùn)行。

微服務(wù)設(shè)計(jì)原則:1、各司其職 2、服務(wù)高可用和可擴(kuò)展性

概念還是比較抽象的,接下來(lái),我將從單體應(yīng)用開(kāi)始,講解為什么會(huì)有微服務(wù)以及什么是微服務(wù)。

一、單體應(yīng)用

在初期,互聯(lián)網(wǎng)公司的應(yīng)用技術(shù)棧大致分為 LAMP(Linux + Apache + MySQL + PHP)和 MVC(Spring + iBatis/Hibernate + Tomcat)兩大流派。兩者都是為單體應(yīng)用架構(gòu)設(shè)計(jì)的,其優(yōu)點(diǎn)是學(xué)習(xí)成本低,開(kāi)發(fā)上手快,測(cè)試、部署、運(yùn)維也比較方便。

以 MVC 架構(gòu)為例,業(yè)務(wù)通常是通過(guò)部署一個(gè) War 包到 Tomcat 中,然后啟動(dòng) Tomcat,監(jiān)聽(tīng)某個(gè)端口即可對(duì)外提供服務(wù)。早期在業(yè)務(wù)規(guī)模不大、開(kāi)發(fā)團(tuán)隊(duì)人員規(guī)模較小的時(shí)候,采用單體應(yīng)用架構(gòu),團(tuán)隊(duì)的開(kāi)發(fā)和運(yùn)維成本都可控。

 

還不懂微服務(wù)原理?阿里高級(jí)技術(shù)專家?guī)憧赐肝⒎?wù)的來(lái)龍去脈

 

然而隨著業(yè)務(wù)規(guī)模的不斷擴(kuò)大,團(tuán)隊(duì)開(kāi)發(fā)人員的不斷擴(kuò)張,單體應(yīng)用架構(gòu)就會(huì)開(kāi)始出現(xiàn)問(wèn)題,大概會(huì)有以下幾個(gè)方面的問(wèn)題。

部署效率低:當(dāng)單體應(yīng)用的代碼越來(lái)越多,依賴的資源越來(lái)越多時(shí),應(yīng)用編譯打包、部署測(cè)試一次,甚至需要 10 分鐘以上。

團(tuán)隊(duì)協(xié)作開(kāi)發(fā)成本高:當(dāng)團(tuán)隊(duì)人員擴(kuò)張,多人修改代碼,然后一起打包部署,測(cè)試階段只要有一塊功能有問(wèn)題,就得重新編譯打包部署,然后重新預(yù)覽測(cè)試,所有相關(guān)的開(kāi)發(fā)人員又都得參與其中,效率低下,開(kāi)發(fā)成本極高。

系統(tǒng)高可用性差:因?yàn)樗械墓δ荛_(kāi)發(fā)最后都部署到同一個(gè) War 包里,運(yùn)行在同一個(gè) Tomcat 進(jìn)程之中,一旦某一功能涉及的代碼或者資源有問(wèn)題,那就會(huì)影響整個(gè) WAR 包中部署的功能。

線上發(fā)布變慢:一旦代碼膨脹,服務(wù)啟動(dòng)的時(shí)間就會(huì)變長(zhǎng)。因此,急需一種方法能夠?qū)?yīng)用的不同模塊的解耦,降低開(kāi)發(fā)和部署成本。

想要解決上面這些問(wèn)題,服務(wù)化的思想也就應(yīng)運(yùn)而生。

二、服務(wù)化

服務(wù)化就是把傳統(tǒng)的單機(jī)應(yīng)用中通過(guò) JAR 包依賴產(chǎn)生的本地方法調(diào)用,改造成通過(guò) RPC 接口產(chǎn)生的遠(yuǎn)程方法調(diào)用。在編寫(xiě)業(yè)務(wù)代碼時(shí),對(duì)于通用的業(yè)務(wù)邏輯,把它抽象并獨(dú)立成為專門的模塊,對(duì)于代碼復(fù)用和業(yè)務(wù)理解有很大的好處。

以微博系統(tǒng)為例,微博既包含了內(nèi)容模塊,也包含了消息模塊和用戶模塊等。其中消息模塊依賴內(nèi)容模塊,消息模塊和內(nèi)容模塊又都依賴用戶模塊。當(dāng)這三個(gè)模塊的代碼耦合在一起,應(yīng)用啟動(dòng)時(shí),需要同時(shí)去加載每個(gè)模塊的代碼并連接對(duì)應(yīng)的資源。一旦任何模塊的代碼出現(xiàn) bug,或者依賴的資源出現(xiàn)問(wèn)題,整個(gè)單體應(yīng)用都會(huì)受到影響。

為此,首先可以把用戶模塊從單體應(yīng)用中拆分出來(lái),獨(dú)立成一個(gè)服務(wù)部署,以 RPC 接口的形式對(duì)外提供服務(wù)。微博和消息模塊調(diào)用用戶接口,就從進(jìn)程內(nèi)的調(diào)用變成遠(yuǎn)程 RPC 調(diào)用。這樣,用戶模塊就可以獨(dú)立開(kāi)發(fā)、測(cè)試、上線和運(yùn)維,可以交由專門的團(tuán)隊(duì)來(lái)做,與主模塊不耦合。進(jìn)一步的可以再把消息模塊也拆分出來(lái)作為獨(dú)立的模塊,交由專門的團(tuán)隊(duì)來(lái)開(kāi)發(fā)和維護(hù)。

可見(jiàn)通過(guò)服務(wù)化,可以解決單體應(yīng)用膨脹、團(tuán)隊(duì)開(kāi)發(fā)耦合度高、協(xié)作效率低下的問(wèn)題。

三、微服務(wù)

從 2014 年開(kāi)始,容器化技術(shù)的成熟以及 DevOps 文化的興起,服務(wù)化的思想進(jìn)一步演變?yōu)槲⒎?wù)。

微服務(wù)相比于服務(wù)化的不同可總結(jié)為以下四點(diǎn):

服務(wù)拆分粒度更細(xì):微服務(wù)可以說(shuō)是更細(xì)維度的服務(wù)化,小到一個(gè)子模塊,只要該模塊依賴的資源與其他模塊都沒(méi)有關(guān)系,那么就可以拆分為一個(gè)微服務(wù)。

服務(wù)獨(dú)立部署:每個(gè)微服務(wù)都嚴(yán)格遵循獨(dú)立打包部署的準(zhǔn)則,互不影響。比如一臺(tái)物理機(jī)上可以部署多個(gè) Docker 實(shí)例,每個(gè) Docker 實(shí)例可以部署一個(gè)微服務(wù)的代碼。

服務(wù)獨(dú)立維護(hù):每個(gè)微服務(wù)都可以交由一個(gè)小團(tuán)隊(duì)甚至個(gè)人來(lái)開(kāi)發(fā)、測(cè)試、發(fā)布和運(yùn)維,并對(duì)整個(gè)生命周期負(fù)責(zé)。

服務(wù)治理能力要求高:因?yàn)椴鸱譃槲⒎?wù)之后,服務(wù)的數(shù)量變多,因此需要有統(tǒng)一的服務(wù)治理平臺(tái),來(lái)對(duì)各個(gè)服務(wù)進(jìn)行管理。

 

還不懂微服務(wù)原理?阿里高級(jí)技術(shù)專家?guī)憧赐肝⒎?wù)的來(lái)龍去脈

 

以微博系統(tǒng)為例,可以進(jìn)一步對(duì)內(nèi)容模塊的功能進(jìn)行拆分,比如內(nèi)容模塊又包含了 feed 模塊、評(píng)論模塊和個(gè)人頁(yè)模塊。通過(guò)微服務(wù)化,將這三個(gè)模塊變成三個(gè)獨(dú)立的服務(wù),每個(gè)服務(wù)依賴各自的資源,并獨(dú)立部署在不同的服務(wù)池中,可以由不同的開(kāi)發(fā)人員進(jìn)行維護(hù)。當(dāng)評(píng)論服務(wù)需求變更時(shí),只需要修改評(píng)論業(yè)務(wù)相關(guān)的代碼,并獨(dú)立上線發(fā)布;而 feed 服務(wù)和個(gè)人頁(yè)服務(wù)不需要變更,也不會(huì)受到發(fā)布可能帶來(lái)的變更影響。

由此可見(jiàn),微服務(wù)化給服務(wù)的發(fā)布和部署,以及服務(wù)的保障帶來(lái)了諸多好處。

四、單體應(yīng)用和微服務(wù)應(yīng)用的區(qū)別

單體式應(yīng)用微服務(wù)應(yīng)用進(jìn)程數(shù)將所有功能放到同一個(gè)進(jìn)程中將功能的每個(gè)元素放置到分離的多個(gè)服務(wù)進(jìn)程中拓展方式通過(guò)復(fù)制整個(gè)應(yīng)用到多臺(tái)服務(wù)器實(shí)現(xiàn)拓展通過(guò)將不同的服務(wù)分布于不同的服務(wù)器,并按需復(fù)制服務(wù)的方式實(shí)現(xiàn)拓展快速響應(yīng)變更部分更新,都需要重新部署整個(gè)應(yīng)用部署和升級(jí)都是獨(dú)立的,有助于大大提高系統(tǒng)變更的敏捷性團(tuán)隊(duì)結(jié)構(gòu)團(tuán)隊(duì)結(jié)構(gòu)呈現(xiàn)垂直化,每個(gè)團(tuán)隊(duì)專門負(fù)責(zé)專門的一塊團(tuán)隊(duì)結(jié)構(gòu)呈現(xiàn)扁平化,每個(gè)團(tuán)隊(duì)服務(wù)一整個(gè)業(yè)務(wù)能力可用性一個(gè)服務(wù)的不穩(wěn)定可能導(dǎo)致整個(gè)應(yīng)用出現(xiàn)問(wèn)題一個(gè)服務(wù)不穩(wěn)定,影響范圍比較小創(chuàng)新性很難引入新的技術(shù)和框架,所有功能都使用的同一種框架每個(gè)微服務(wù)可以使用不同的語(yǔ)言和框架,引入新技術(shù)方便

五、總結(jié)

由單體應(yīng)用進(jìn)化到服務(wù)化拆分部署,隨著移動(dòng)互聯(lián)網(wǎng)規(guī)模的不斷擴(kuò)大,敏捷開(kāi)發(fā)、持續(xù)交付、DevOps 理論的發(fā)展和實(shí)踐,以及容器化技術(shù)的成熟,微服務(wù)架構(gòu)開(kāi)始流行。

微服務(wù)的核心在于服務(wù)治理,微服務(wù)架構(gòu)是將復(fù)雜臃腫的單體應(yīng)用進(jìn)行細(xì)粒度的服務(wù)化拆分,每個(gè)拆分出來(lái)的服務(wù)各自獨(dú)立打包部署,并交由小團(tuán)隊(duì)進(jìn)行開(kāi)發(fā)和運(yùn)維,從而極大地提高了應(yīng)用交付的效率。

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2019-09-10 11:34:23

軟件技術(shù)數(shù)據(jù)庫(kù)

2017-07-04 14:57:40

微服務(wù)paasdocker

2020-12-22 14:18:34

微服務(wù)架構(gòu)

2019-07-11 15:25:02

架構(gòu)運(yùn)維技術(shù)

2024-07-02 14:23:12

2021-03-02 16:25:52

微服務(wù)架構(gòu)技術(shù)

2021-12-29 08:30:48

微服務(wù)架構(gòu)開(kāi)發(fā)

2024-11-06 16:27:12

2024-07-02 10:58:53

2019-12-12 10:56:00

微服務(wù)微服務(wù)架構(gòu)架構(gòu)

2017-07-12 13:49:45

微服務(wù)架構(gòu)數(shù)據(jù)共享

2021-01-04 09:35:55

微服務(wù)架構(gòu)配置中心

2020-11-26 18:18:21

微服務(wù)業(yè)務(wù)規(guī)模技術(shù)

2017-11-22 13:01:03

Go技術(shù)棧構(gòu)建

2020-12-10 10:04:45

微服務(wù)Kubernetes容器

2018-12-12 09:59:47

微服務(wù)架構(gòu)分布式系統(tǒng)

2023-07-28 09:23:24

微服務(wù)架構(gòu)

2017-09-10 16:21:55

微服務(wù)API權(quán)限

2022-11-09 09:15:31

ProtoBufGo語(yǔ)言

2023-11-09 09:48:16

數(shù)據(jù)壓縮微服務(wù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美精品一区二区蜜桃 | av大片在线观看 | 综合久久综合久久 | 91精品国产91久久久久久密臀 | 日本中文字幕在线观看 | 人人干视频在线 | 久久综合久 | 久久久久久久电影 | 久久久久久免费毛片精品 | 中文字幕乱码一区二区三区 | 蜜桃av鲁一鲁一鲁一鲁 | 99爱视频 | 99久久精品国产麻豆演员表 | 久久久无码精品亚洲日韩按摩 | 久久久久久中文字幕 | 国产午夜精品一区二区三区嫩草 | 91久久精品一区二区二区 | 99re66在线观看精品热 | 黄色91在线| 国产在线精品一区二区 | 91不卡在线| 黑人巨大精品欧美黑白配亚洲 | 亚洲精品一区二区二区 | 色婷婷综合在线观看 | 中文字幕韩在线第一页 | 欧美日韩视频在线第一区 | 在线高清免费观看视频 | 日韩一区二区三区在线视频 | 国产一区二区三区 | www在线视频| 成人不卡视频 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 一级毛片免费视频 | 国产成人网 | 亚洲一区 中文字幕 | 欧美久久久久久久 | 成人免费小视频 | 伊人伊成久久人综合网站 | 亚洲高清在线 | 四虎海外| 亚洲精品视频免费 |