一種分布式服務治理框架的設計與實現
本文關鍵詞:一種分布式服務治理框架的設計與實現
更多相關文章: 遠程過程調用 分布式服務 服務發(fā)現 服務治理 服務部署
【摘要】:本論文選題來自于本人實習所在公司新浪微博目前正在使用的RPC (Remote Procedure Call,遠程過程調用)分布式服務框架,微博平臺考慮到舊服務接口改造、微服務化及動態(tài)服務治理等需求,并結合微博業(yè)務高并發(fā)、服務性能及穩(wěn)定性要求較高的特點,設計并實現了一種通用的RPC分布式服務治理框架,該框架偏重于簡潔實用的服務治理功能和優(yōu)秀的RPC協(xié)議擴展能力,既可以提供高效的RPC遠程調用功能,又能提供服務發(fā)現、服務路由、集群容錯、服務監(jiān)控、流量控制等服務治理的功能。在系統(tǒng)的健壯性方面,該分布式服務框架使用多種注冊中心來提供服務發(fā)現,實現服務的集群容錯與負載均衡策略。在服務治理方面,生成完整的服務調用鏈數據、服務請求性能數據、響應時間以及標準化的錯誤與異常的日志信息。在分布式服務框架的設計上,通過使用Java內置的SPI (Service Provider Interface,服務提供接口)機制為框架提供強大的服務擴展能力,以支持不同的協(xié)議及功能實現。該分布式服務治理框架能夠無縫地支持Spring配置方式來使用RPC服務,通過簡單、靈活的配置即可提供并使用RPC服務,為服務拆分以及分布式服務部署提供了便利。在分布式服務框架的使用上,微博平臺將平臺內部的服務改造成標準化的RPC服務接口,推廣給其它部門使用,并通過開源平臺,開放給外部開發(fā)者使用。本人通過參與新浪微博服務化改造以及混合云服務改造項目,參與設計并實現了分布式服務框架中的部分核心功能,完成了ZooKeeper注冊中心、管理后臺等模塊的具體實現和相關測試。該分布式服務框架的基準測試結果和服務的線上運行狀況表明,高效的RPC調用提升了服務整體的運行效率,使用該框架對應用進行拆分解耦能夠極大地提升開發(fā)效率,方便地進行服務部署,并穩(wěn)定地支持業(yè)務方的服務擴展,使系統(tǒng)的擴容縮容、升級以及運維更加地容易。
【關鍵詞】:遠程過程調用 分布式服務 服務發(fā)現 服務治理 服務部署
【學位授予單位】:北京交通大學
【學位級別】:碩士
【學位授予年份】:2016
【分類號】:TP311.52
【目錄】:
- 致謝5-6
- 摘要6-7
- ABSTRACT7-11
- 1 引言11-16
- 1.1 研究背景和意義11-12
- 1.2 國內外研究現狀12-14
- 1.3 本文的主要工作14-15
- 1.4 論文的組織結構15-16
- 2 相關技術介紹16-23
- 2.1 RPC16-17
- 2.2 JAVA NIO17-19
- 2.3 JAVA SPI19
- 2.4 REACTOR模式19-21
- 2.5 代理模式21-22
- 2.6 本章小結22-23
- 3 分布式服務治理框架的需求分析23-28
- 3.1 業(yè)務系統(tǒng)面臨的挑戰(zhàn)23-24
- 3.2 分布式服務框架的需求與特點24-27
- 3.2.1 功能性需求25-26
- 3.2.2 非功能性需求26-27
- 3.3 本章小結27-28
- 4 分布式服務治理框架的設計與實現28-58
- 4.1 服務框架的整體設計28-31
- 4.1.1 整體架構28-30
- 4.1.2 模塊分層30-31
- 4.2 分布式服務注冊中心的設計與實現31-38
- 4.2.1 工作機制31-32
- 4.2.2 關鍵功能32-33
- 4.2.3 基于ZooKeeper的注冊中心設計33-36
- 4.2.4 基于Consul的注冊中心設計36-38
- 4.3 RPC服務框架的設計與實現38-43
- 4.3.1 服務通信框架38-39
- 4.3.2 序列化框架39-41
- 4.3.3 RPC遠程調用41-43
- 4.4 服務治理方案的設計與實現43-54
- 4.4.1 服務路由44-46
- 4.4.2 集群容錯46-49
- 4.4.3 服務調用統(tǒng)計49-50
- 4.4.4 數據壓縮50-51
- 4.4.5 流量控制51-52
- 4.4.6 動態(tài)流量調整52-54
- 4.5 管理后臺54-57
- 4.6 本章小結57-58
- 5 分布式服務治理框架的性能測試58-62
- 5.1 系統(tǒng)測試環(huán)境58
- 5.2 測試腳本58-59
- 5.3 測試結果59-61
- 5.4 本章小結61-62
- 6 總結與展望62-63
- 6.1 總結62
- 6.2 本人工作62
- 6.3 工作展望62-63
- 參考文獻63-65
- 作者簡歷及攻讀碩士學位期間取得的研究成果65-67
- 學位論文數據集67
【相似文獻】
中國期刊全文數據庫 前10條
1 胡永平;馮雁;王澤兵;;架構一個企業(yè)的分布式服務群[J];計算機科學;2002年01期
2 袁捷;開放分布式服務平臺中的個性化主動服務[J];計算機應用與軟件;2005年10期
3 樊志強;;實時數據分布式服務技術及其領域應用[J];程序員;2008年06期
4 王銀燕;余鎮(zhèn)危;潘耘;曹懷虎;;基于分段的分布式服務部署和查找[J];計算機工程;2006年09期
5 馬俊濤,劉積仁,楊利;基于智能體的分布式服務管理系統(tǒng)研究[J];計算機研究與發(fā)展;1999年07期
6 袁俊超;;CORBA的分布式服務高可用技術探討[J];中國新技術新產品;2010年05期
7 麻志毅;鄒艷珍;;基于UML的分布式服務合約庫系統(tǒng)建模[J];電子學報;2007年08期
8 孫大大;趙瑩;郎波;;基于RBAC的分布式服務兩級訪問控制[J];計算機工程與應用;2006年26期
9 張鐵軍;陳蜀宇;祁小明;;基于Ruby的分布式服務系統(tǒng)的設計[J];軟件導刊;2012年01期
10 郎波,黃睿,李偉琴;基于Web的分布式服務對象的集成與構造方法[J];北京航空航天大學學報;2002年02期
中國重要會議論文全文數據庫 前2條
1 袁捷;;開放分布式服務平臺中的個性化主動服務[A];2005年全國開放式分布與并行計算學術會議論文集[C];2005年
2 王t,
本文編號:764502
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/764502.html