成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

微服務(wù)的拆分與組件

FingerLiu / 1236人閱讀

摘要:服務(wù)監(jiān)控一旦服務(wù)消費(fèi)者與服務(wù)提供者之間能夠正常發(fā)起服務(wù)調(diào)用,你就需要對(duì)調(diào)用情況進(jìn)行監(jiān)控,以了解服務(wù)是否正常。

目錄

一、微服務(wù)

1、服務(wù)化拆分的兩種姿勢(shì)

2、服務(wù)化拆分的前置條件

二、微服務(wù)組件

1、服務(wù)描述

2、注冊(cè)中心

3、服務(wù)框架

4、服務(wù)監(jiān)控

5、服務(wù)追蹤

6、服務(wù)治理

微服務(wù)

微服務(wù)架構(gòu)是一種將單應(yīng)用程序作為一套微型服務(wù)開發(fā)的方法,每種應(yīng)用程序都在其自己的進(jìn)程中運(yùn)行,并與輕量級(jí)機(jī)制(通常是HTTP資源的API)進(jìn)行通信。這些服務(wù)是圍繞業(yè)務(wù)功能構(gòu)建的,可以通過全自動(dòng)部署機(jī)制進(jìn)行獨(dú)立部署。這些微服務(wù)的將集中化管理部分降到最少,同時(shí),微服務(wù)還可以用不同的編程語言編寫,并使用不同的數(shù)據(jù)存儲(chǔ)技術(shù)。

服務(wù)化拆分的兩種姿勢(shì)

縱向拆分:從業(yè)務(wù)維度進(jìn)行拆分。標(biāo)準(zhǔn)是按照業(yè)務(wù)的關(guān)聯(lián)程度來決定,關(guān)聯(lián)比較密切的業(yè)務(wù)適合拆分為一個(gè)微服務(wù),而功能相對(duì)比較獨(dú)立的業(yè)務(wù)適合多帶帶拆分為一個(gè)微服務(wù)。

橫向拆分:從公共且獨(dú)立功能維度拆分。標(biāo)準(zhǔn)是按照是否有公共的被多個(gè)其他服務(wù)調(diào)用,且依賴的資源獨(dú)立不與其他業(yè)務(wù)耦合。

服務(wù)化拆分的前置條件

服務(wù)如何定義。對(duì)于單體應(yīng)用來說,不同功能模塊之前相互交互時(shí),通常是以類庫(kù)的方式來提供各個(gè)模塊的功能。對(duì)于微服務(wù)來說,每個(gè)服務(wù)都運(yùn)行在各自的進(jìn)程之中,應(yīng)該以何種形式向外界傳達(dá)自己的信息呢?答案就是接口,無論采用哪種通訊協(xié)議,是HTTP還是RPC,服務(wù)之間的調(diào)用都通過接口描述來約定,約定內(nèi)容包括接口名、接口參數(shù)以及接口返回值。

服務(wù)如何發(fā)布和訂閱。單體應(yīng)用由于部署在同一個(gè)WAR包里,接口之間的調(diào)用屬于進(jìn)程內(nèi)的調(diào)用。而拆分為微服務(wù)獨(dú)立部署后,服務(wù)提供者該如何對(duì)外暴露自己的地址,服務(wù)調(diào)用者該如何查詢所需要調(diào)用的服務(wù)的地址呢?這個(gè)時(shí)候你就需要一個(gè)類似登記處的地方,能夠記錄每個(gè)服務(wù)提供者的地址以供服務(wù)調(diào)用者查詢,在微服務(wù)架構(gòu)里,這個(gè)地方就是注冊(cè)中心。

服務(wù)如何監(jiān)控。通常對(duì)于一個(gè)服務(wù),我們最關(guān)心的是QPS(調(diào)用量)、AvgTime(平均耗時(shí))以及P999(99.9%的請(qǐng)求性能在多少毫秒以內(nèi))這些指標(biāo)。這時(shí)候你就需要一種通用的監(jiān)控方案,能夠覆蓋業(yè)務(wù)埋點(diǎn)、數(shù)據(jù)收集、數(shù)據(jù)處理,最后到數(shù)據(jù)展示的全鏈路功能。

服務(wù)如何治理??梢韵胂?,拆分為微服務(wù)架構(gòu)后,服務(wù)的數(shù)量變多了,依賴關(guān)系也變復(fù)雜了。比如一個(gè)服務(wù)的性能有問題時(shí),依賴的服務(wù)都勢(shì)必會(huì)受到影響。可以設(shè)定一個(gè)調(diào)用性能閾值,如果一段時(shí)間內(nèi)一直超過這個(gè)值,那么依賴服務(wù)的調(diào)用可以直接返回,這就是熔斷,也是服務(wù)治理最常用的手段之一。

故障如何定位。在單體應(yīng)用拆分為微服務(wù)之后,一次用戶調(diào)用可能依賴多個(gè)服務(wù),每個(gè)服務(wù)又部署在不同的節(jié)點(diǎn)上,如果用戶調(diào)用出現(xiàn)問題,你需要有一種解決方案能夠?qū)⒁淮斡脩粽?qǐng)求進(jìn)行標(biāo)記,并在多個(gè)依賴的服務(wù)系統(tǒng)中繼續(xù)傳遞,以便串聯(lián)所有路徑,從而進(jìn)行故障定位。

微服務(wù)組件

服務(wù)描述

服務(wù)調(diào)用首先要解決的問題就是服務(wù)如何對(duì)外描述。比如,你對(duì)外提供了一個(gè)服務(wù),那么這個(gè)服務(wù)的服務(wù)名叫什么?調(diào)用這個(gè)服務(wù)需要提供哪些信息?調(diào)用這個(gè)服務(wù)返回的結(jié)果是什么格式的?該如何解析?這些就是服務(wù)描述要解決的問題。簡(jiǎn)單來說就是接口文檔。

常用的服務(wù)描述方式包括RESTful API、XML配置以及IDL文件三種。

注冊(cè)中心

你提供了一個(gè)服務(wù),如何讓外部想調(diào)用你的服務(wù)的人知道。這個(gè)時(shí)候就需要一個(gè)類似注冊(cè)中心的角色,服務(wù)提供者將自己提供的服務(wù)以及地址登記到注冊(cè)中心,服務(wù)消費(fèi)者則從注冊(cè)中心查詢所需要調(diào)用的服務(wù)的地址,然后發(fā)起請(qǐng)求。

服務(wù)框架

服務(wù)通信采用什么協(xié)議?就是說服務(wù)提供者和服務(wù)消費(fèi)者之間以什么樣的協(xié)議進(jìn)行網(wǎng)絡(luò)通信,是采用四層TCP、UDP協(xié)議,還是采用七層HTTP協(xié)議,還是采用其他協(xié)議?

數(shù)據(jù)傳輸采用什么方式?就是說服務(wù)提供者和服務(wù)消費(fèi)者之間的數(shù)據(jù)傳輸采用哪種方式,是同步還是異步,是在單連接上傳輸,還是多路復(fù)用。

數(shù)據(jù)壓縮采用什么格式?通常數(shù)據(jù)傳輸都會(huì)對(duì)數(shù)據(jù)進(jìn)行壓縮,來減少網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,從而減少帶寬消耗和網(wǎng)絡(luò)傳輸時(shí)間,比如常見的JSON序列化、Java對(duì)象序列化以及Protobuf序列化等。

服務(wù)監(jiān)控

一旦服務(wù)消費(fèi)者與服務(wù)提供者之間能夠正常發(fā)起服務(wù)調(diào)用,你就需要對(duì)調(diào)用情況進(jìn)行監(jiān)控,以了解服務(wù)是否正常。

服務(wù)追蹤

你還需要記錄服務(wù)調(diào)用經(jīng)過的每一層鏈路,以便進(jìn)行問題追蹤和故障定位。

服務(wù)治理

服務(wù)監(jiān)控能夠發(fā)現(xiàn)問題,服務(wù)追蹤能夠定位問題所在,而解決問題就得靠服務(wù)治理了。服務(wù)治理就是通過一系列的手段來保證在各種意外情況下,服務(wù)調(diào)用仍然能夠正常進(jìn)行。比如自動(dòng)擴(kuò)縮容,就可以用來解決服務(wù)的容量問題。

感謝您耐心看完的文章

順便給大家推薦一個(gè)Java技術(shù)交流群:710373545里面會(huì)分享一些資深架構(gòu)師錄制的視頻資料:有Spring,MyBatis,Netty源碼分析,高并發(fā)、高性能、分布式、微服務(wù)架構(gòu)的原理,JVM性能優(yōu)化、分布式架構(gòu)等這些成為架構(gòu)師必備的知識(shí)體系。還能領(lǐng)取免費(fèi)的學(xué)習(xí)資源,目前受益良多!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74637.html

相關(guān)文章

  • 分布式服務(wù)架構(gòu)

    摘要:什么是分布式系統(tǒng)從進(jìn)程角度看兩個(gè)程序分別運(yùn)行在兩臺(tái)主機(jī)的進(jìn)程上它們相互協(xié)作最終完成同一個(gè)服務(wù)那么理論上這兩個(gè)程序所組成的系統(tǒng)可以稱作分布式系統(tǒng)當(dāng)然這兩個(gè)程序可以是不同的程序可以是相同的程序如果是相同的程序我們又可以稱為集群所謂集群就是將相同 什么是分布式系統(tǒng) 從進(jìn)程角度看, 兩個(gè)程序分別運(yùn)行在兩臺(tái)主機(jī)的進(jìn)程上, 它們相互協(xié)作最終完成同一個(gè)服務(wù), 那么理論上這兩個(gè)程序所組成的系統(tǒng), 可以...

    cjie 評(píng)論0 收藏0
  • 顛覆服務(wù)認(rèn)知:深入思考服務(wù)七個(gè)主流觀點(diǎn)

    摘要:筆者對(duì)微服務(wù)系統(tǒng)的觀點(diǎn)是,我們從單體系統(tǒng)向微服務(wù)系統(tǒng)改造的過程中,需要認(rèn)真思考什么階段使用微服務(wù)。此外,為了解決服務(wù)部署,我們可以考慮通過滾動(dòng)發(fā)布來實(shí)現(xiàn)服務(wù)的無中斷。事實(shí)上,微服務(wù)保證其服務(wù)的整體可用性。 原文地址:梁桂釗的博客博客地址:http://blog.720ui.com 歡迎關(guān)注公眾號(hào):「服務(wù)端思維」。一群同頻者,一起成長(zhǎng),一起精進(jìn),打破認(rèn)知的局限性。 一、逃離單體系統(tǒng),...

    XanaHopper 評(píng)論0 收藏0
  • 云架構(gòu)升級(jí),服務(wù)落地GIStack for Manager

    摘要:第二種則由多個(gè)小單元構(gòu)成,每個(gè)小單元都是獨(dú)立的服務(wù)。微服務(wù)架構(gòu)所依賴的彈性通信輕量等需求容器恰好可以完美提供,因此微服務(wù)與容器可以說是完美的一對(duì)。談到架構(gòu),微服務(wù)架構(gòu)已然是時(shí)至今日必聊的一個(gè)話題,系統(tǒng)架構(gòu)的選型與是否轉(zhuǎn)型,不應(yīng)該是為了微服務(wù)架構(gòu)而架構(gòu),而是源于微服務(wù)架構(gòu)自身是否更適合業(yè)務(wù)自身的需求,微服務(wù)架構(gòu)的優(yōu)勢(shì)與所要付出的代價(jià)是否值得你,去做一次轉(zhuǎn)變。 ? ?GIStack for M...

    bingchen 評(píng)論0 收藏0
  • 【面試精選】關(guān)于大型網(wǎng)站系統(tǒng)架構(gòu)你不得不懂10個(gè)問題

    摘要:降級(jí)往往會(huì)指定不同的級(jí)別,面臨不同的異常等級(jí)執(zhí)行不同的處理。談?wù)勀銓?duì)和的認(rèn)識(shí)兩者關(guān)系具體可以看公眾號(hào)阿里巴巴中間件的這篇文章獨(dú)家解讀從微服務(wù)框架到微服務(wù)生態(tài)與并不是競(jìng)爭(zhēng)關(guān)系,作為成熟的框架,其易用性擴(kuò)展性和健壯性已得到業(yè)界的認(rèn)可。 該文已加入筆主的開源項(xiàng)目——JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識(shí)的文檔類項(xiàng)目),地址:https://github.com/...

    leiyi 評(píng)論0 收藏0
  • 【面試精選】關(guān)于大型網(wǎng)站系統(tǒng)架構(gòu)你不得不懂10個(gè)問題

    摘要:降級(jí)往往會(huì)指定不同的級(jí)別,面臨不同的異常等級(jí)執(zhí)行不同的處理。談?wù)勀銓?duì)和的認(rèn)識(shí)兩者關(guān)系具體可以看公眾號(hào)阿里巴巴中間件的這篇文章獨(dú)家解讀從微服務(wù)框架到微服務(wù)生態(tài)與并不是競(jìng)爭(zhēng)關(guān)系,作為成熟的框架,其易用性擴(kuò)展性和健壯性已得到業(yè)界的認(rèn)可。 該文已加入筆主的開源項(xiàng)目——JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識(shí)的文檔類項(xiàng)目),地址:https://github.com/...

    luqiuwen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<