基于go-micro的數(shù)據(jù)服務(wù)與服務(wù)治理平臺設(shè)計與實現(xiàn)
發(fā)布時間:2021-11-22 17:21
隨著互聯(lián)網(wǎng)軟件架構(gòu)的快速發(fā)展,傳統(tǒng)單體應(yīng)用已經(jīng)難以滿足敏捷開發(fā)的需求,微服務(wù)架構(gòu)應(yīng)運而生。通過以功能為粒度劃分為若干個微服務(wù)后,開發(fā)效率得到了大量改善,但微服務(wù)數(shù)量的增多也增加了運維的難度。與此同時,高校數(shù)據(jù)中心也逐漸改造成云計算中心并將虛擬化技術(shù)引入業(yè)務(wù)系統(tǒng)中。本文設(shè)計與實現(xiàn)了一個基于go-micro微服務(wù)架構(gòu)的數(shù)據(jù)服務(wù)與服務(wù)治理平臺。主要工作如下:(1)基于go-micro設(shè)計并實現(xiàn)了數(shù)據(jù)采集服務(wù)、用戶平臺服務(wù)、數(shù)據(jù)提供服務(wù)和認證服務(wù)這四個主要業(yè)務(wù)微服務(wù),微服務(wù)之間利用gRPC進行通信,并將其編譯為二進制文件,構(gòu)建鏡像后放入Docker容器進行部署,提高開發(fā)運維效率。(2)數(shù)據(jù)層利用關(guān)系數(shù)據(jù)庫、緩存數(shù)據(jù)庫和時序數(shù)據(jù)庫保證平臺數(shù)據(jù)穩(wěn)定存取。數(shù)據(jù)庫地址、注冊中心地址等信息均由配置統(tǒng)一管理,對配置提供統(tǒng)一解析接口,封裝不同環(huán)境的配置,屏蔽配置管理和數(shù)據(jù)庫訪問的具體細節(jié),滿足不同開發(fā)運維人員的需求。(3)構(gòu)建微服務(wù)治理體系,服務(wù)治理系統(tǒng)包括注冊中心、監(jiān)控中心、鏈路中心和容器中心。注冊中心為微服務(wù)提供注冊與發(fā)現(xiàn)功能;監(jiān)控中心監(jiān)控服務(wù)以及服務(wù)所在主機的各項指標并對超出閾值的情況進行告警;鏈路中...
【文章來源】:華中師范大學湖北省 211工程院校 教育部直屬院校
【文章頁數(shù)】:63 頁
【學位級別】:碩士
【部分圖文】:
圖2.1?micro框架架構(gòu)圖??Go_micro框架是micro架構(gòu)的核心,提供了分布式系統(tǒng)開發(fā)的主要功通,包括??
?碩士學位論文??MASTER'S?THESIS??在內(nèi)部環(huán)境中用于橋接內(nèi)部服務(wù)。管理控制臺與CLI有些許類似,但主要是通過??Web頁面來展示服務(wù)的運行狀況,通過頁面所展示的服務(wù)請求與響應(yīng)的狀態(tài),可以??直接查詢到服務(wù)的端點信息。micro框架整體架構(gòu)如圖2」所示。??Micr°?API?Bot?CLI?Proxy?Web??Runtime? ̄??Micro?、?D—s??Services?%?3?_?_?#?⑩????[Envoy?)?[?Kafka?[;?j?Istio?j?|?Knative ̄)?{?25pkin?|??^Cloud?^?—一 ̄ ̄?Kuiernetes?]?Operators??Platform?v”:。麵-—.,丨…,.…麵賢,'…….‘一.—、馨?—心??[?AWS?/?Azure?/?GCP?/?On-Prem? ̄ ̄]??圖2.1?micro框架架構(gòu)圖??Go_micro框架是micro架構(gòu)的核心,提供了分布式系統(tǒng)開發(fā)的主要功通,包括??RPC和事件驅(qū)動的通信機制等。Go-micro主要包括以下特性:服務(wù)注冊與發(fā)現(xiàn)、負??載均衡、消息編碼、雙向流的請求響應(yīng)、異步消息通信和可拔插接口。g〇-micro的??架構(gòu)如圖2.2所示。??f?:==:===—:=:=^??Service?????????^??Cl^it?Bmver??mw?廣—??-'v?r-r???------------??u'.????Broker?(kxiec?Ragistry?Se^mr?Immpon??V?Z_?J??圖2.2?go-mi
?gRPC?概述??gRPC是Google基于HTTP/2協(xié)議開發(fā)的高性能RPC框架,默認使用Protocol??Buffers作為序列化協(xié)議[25]。gRPC的基本思想是定義一個服務(wù)方法,指定其可以被??遠程調(diào)用的參數(shù)和返回類型,基于此進行編譯后可以得到支持多種主流語言和多種??操作系統(tǒng)的客戶端和服務(wù)端代碼,比如C++、Java、Golang等開發(fā)語言和Linux、??Windows、MacOS等操作系統(tǒng),因此具有非常好的通用性,可以完美解決不同語言??和不同環(huán)境之間的通信問題,如圖2.3所示。同時,gRPC通過可拔插的支持特性來??對數(shù)據(jù)中心和跨數(shù)據(jù)中心的服務(wù)進行連接,以實現(xiàn)負載均衡、鏈路追蹤、健康狀況??檢查和身份認證,被廣泛運用在etcd、istio等知名項目中。??m??',2敬?'參雙?1??圖2.3?gRPC通信圖??gRPC定義了四種服務(wù)方法,分別是單向RPC、服務(wù)端流式RPC、客戶端流式??RPC和雙向流式RPC。在高性能低延遲的需求下,流式RPC可以保持長連接,實??現(xiàn)多路復(fù)用,節(jié)省了多次創(chuàng)建連接的開銷。gRPC也被設(shè)計成可以配合多種身份驗??證機制協(xié)同使用,從而安全的與其它系統(tǒng)進行通信。其內(nèi)置了?SSL/TLS來認證服務(wù)??器并加密客戶端和服務(wù)端之間交換的所有數(shù)據(jù),同時也提供了?Google基于OAuth2??的身份驗證和可擴展的方式來支持開發(fā)者自定義的憑證類型[261。??7??
【參考文獻】:
期刊論文
[1]基于Spring Boot技術(shù)的SOA接口研究[J]. 王悅. 信息技術(shù). 2019(06)
[2]基于API網(wǎng)關(guān)的微服務(wù)組合策略研究[J]. 吳潤. 數(shù)碼世界. 2019(03)
[3]微服務(wù)架構(gòu)下高校數(shù)據(jù)共享服務(wù)平臺的設(shè)計[J]. 房立鎮(zhèn),王信堂. 電子技術(shù)與軟件工程. 2019(06)
[4]北京大學 數(shù)據(jù)中心遷移中的虛擬化力量[J]. 張乃帥,杜曉峰. 中國教育網(wǎng)絡(luò). 2019(Z1)
[5]基于Spring Cloud的微服務(wù)構(gòu)建及軟件云化應(yīng)用研究[J]. 梁安健,胡寧,羅劍武,陳泫文. 電子產(chǎn)品可靠性與環(huán)境試驗. 2018(S1)
[6]基于微服務(wù)架構(gòu)的統(tǒng)一應(yīng)用開發(fā)平臺[J]. 李春陽,劉迪,崔蔚,李曉珍,李春岐. 計算機系統(tǒng)應(yīng)用. 2017(04)
碩士論文
[1]基于事件驅(qū)動的運維管理和服務(wù)注冊系統(tǒng)的設(shè)計與實現(xiàn)[D]. 林揚舒.南京大學 2019
[2]知識付費系統(tǒng)的設(shè)計與實現(xiàn)[D]. 汪小發(fā).南京大學 2019
[3]面向微服務(wù)架構(gòu)的會議管理系統(tǒng)的設(shè)計與實現(xiàn)[D]. 王晴.華中科技大學 2018
[4]BRaft:一種拜占庭容錯的Raft算法[D]. 李辰洋.華南理工大學 2018
[5]基于商業(yè)智能的高校一卡通數(shù)據(jù)分析平臺設(shè)計與開發(fā)[D]. 聞忠.湖南大學 2017
[6]分布式系統(tǒng)自適應(yīng)故障檢測技術(shù)研究[D]. 代長波.浙江大學 2017
本文編號:3512135
【文章來源】:華中師范大學湖北省 211工程院校 教育部直屬院校
【文章頁數(shù)】:63 頁
【學位級別】:碩士
【部分圖文】:
圖2.1?micro框架架構(gòu)圖??Go_micro框架是micro架構(gòu)的核心,提供了分布式系統(tǒng)開發(fā)的主要功通,包括??
?碩士學位論文??MASTER'S?THESIS??在內(nèi)部環(huán)境中用于橋接內(nèi)部服務(wù)。管理控制臺與CLI有些許類似,但主要是通過??Web頁面來展示服務(wù)的運行狀況,通過頁面所展示的服務(wù)請求與響應(yīng)的狀態(tài),可以??直接查詢到服務(wù)的端點信息。micro框架整體架構(gòu)如圖2」所示。??Micr°?API?Bot?CLI?Proxy?Web??Runtime? ̄??Micro?、?D—s??Services?%?3?_?_?#?⑩????[Envoy?)?[?Kafka?[;?j?Istio?j?|?Knative ̄)?{?25pkin?|??^Cloud?^?—一 ̄ ̄?Kuiernetes?]?Operators??Platform?v”:。麵-—.,丨…,.…麵賢,'…….‘一.—、馨?—心??[?AWS?/?Azure?/?GCP?/?On-Prem? ̄ ̄]??圖2.1?micro框架架構(gòu)圖??Go_micro框架是micro架構(gòu)的核心,提供了分布式系統(tǒng)開發(fā)的主要功通,包括??RPC和事件驅(qū)動的通信機制等。Go-micro主要包括以下特性:服務(wù)注冊與發(fā)現(xiàn)、負??載均衡、消息編碼、雙向流的請求響應(yīng)、異步消息通信和可拔插接口。g〇-micro的??架構(gòu)如圖2.2所示。??f?:==:===—:=:=^??Service?????????^??Cl^it?Bmver??mw?廣—??-'v?r-r???------------??u'.????Broker?(kxiec?Ragistry?Se^mr?Immpon??V?Z_?J??圖2.2?go-mi
?gRPC?概述??gRPC是Google基于HTTP/2協(xié)議開發(fā)的高性能RPC框架,默認使用Protocol??Buffers作為序列化協(xié)議[25]。gRPC的基本思想是定義一個服務(wù)方法,指定其可以被??遠程調(diào)用的參數(shù)和返回類型,基于此進行編譯后可以得到支持多種主流語言和多種??操作系統(tǒng)的客戶端和服務(wù)端代碼,比如C++、Java、Golang等開發(fā)語言和Linux、??Windows、MacOS等操作系統(tǒng),因此具有非常好的通用性,可以完美解決不同語言??和不同環(huán)境之間的通信問題,如圖2.3所示。同時,gRPC通過可拔插的支持特性來??對數(shù)據(jù)中心和跨數(shù)據(jù)中心的服務(wù)進行連接,以實現(xiàn)負載均衡、鏈路追蹤、健康狀況??檢查和身份認證,被廣泛運用在etcd、istio等知名項目中。??m??',2敬?'參雙?1??圖2.3?gRPC通信圖??gRPC定義了四種服務(wù)方法,分別是單向RPC、服務(wù)端流式RPC、客戶端流式??RPC和雙向流式RPC。在高性能低延遲的需求下,流式RPC可以保持長連接,實??現(xiàn)多路復(fù)用,節(jié)省了多次創(chuàng)建連接的開銷。gRPC也被設(shè)計成可以配合多種身份驗??證機制協(xié)同使用,從而安全的與其它系統(tǒng)進行通信。其內(nèi)置了?SSL/TLS來認證服務(wù)??器并加密客戶端和服務(wù)端之間交換的所有數(shù)據(jù),同時也提供了?Google基于OAuth2??的身份驗證和可擴展的方式來支持開發(fā)者自定義的憑證類型[261。??7??
【參考文獻】:
期刊論文
[1]基于Spring Boot技術(shù)的SOA接口研究[J]. 王悅. 信息技術(shù). 2019(06)
[2]基于API網(wǎng)關(guān)的微服務(wù)組合策略研究[J]. 吳潤. 數(shù)碼世界. 2019(03)
[3]微服務(wù)架構(gòu)下高校數(shù)據(jù)共享服務(wù)平臺的設(shè)計[J]. 房立鎮(zhèn),王信堂. 電子技術(shù)與軟件工程. 2019(06)
[4]北京大學 數(shù)據(jù)中心遷移中的虛擬化力量[J]. 張乃帥,杜曉峰. 中國教育網(wǎng)絡(luò). 2019(Z1)
[5]基于Spring Cloud的微服務(wù)構(gòu)建及軟件云化應(yīng)用研究[J]. 梁安健,胡寧,羅劍武,陳泫文. 電子產(chǎn)品可靠性與環(huán)境試驗. 2018(S1)
[6]基于微服務(wù)架構(gòu)的統(tǒng)一應(yīng)用開發(fā)平臺[J]. 李春陽,劉迪,崔蔚,李曉珍,李春岐. 計算機系統(tǒng)應(yīng)用. 2017(04)
碩士論文
[1]基于事件驅(qū)動的運維管理和服務(wù)注冊系統(tǒng)的設(shè)計與實現(xiàn)[D]. 林揚舒.南京大學 2019
[2]知識付費系統(tǒng)的設(shè)計與實現(xiàn)[D]. 汪小發(fā).南京大學 2019
[3]面向微服務(wù)架構(gòu)的會議管理系統(tǒng)的設(shè)計與實現(xiàn)[D]. 王晴.華中科技大學 2018
[4]BRaft:一種拜占庭容錯的Raft算法[D]. 李辰洋.華南理工大學 2018
[5]基于商業(yè)智能的高校一卡通數(shù)據(jù)分析平臺設(shè)計與開發(fā)[D]. 聞忠.湖南大學 2017
[6]分布式系統(tǒng)自適應(yīng)故障檢測技術(shù)研究[D]. 代長波.浙江大學 2017
本文編號:3512135
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/3512135.html
最近更新
教材專著