当前位置:主页 > 管理论文 > 移动网络论文 >

基于go-micro的数据服务与服务治理平台设计与实现

发布时间:2021-11-22 17:21
  随着互联网软件架构的快速发展,传统单体应用已经难以满足敏捷开发的需求,微服务架构应运而生。通过以功能为粒度划分为若干个微服务后,开发效率得到了大量改善,但微服务数量的增多也增加了运维的难度。与此同时,高校数据中心也逐渐改造成云计算中心并将虚拟化技术引入业务系统中。本文设计与实现了一个基于go-micro微服务架构的数据服务与服务治理平台。主要工作如下:(1)基于go-micro设计并实现了数据采集服务、用户平台服务、数据提供服务和认证服务这四个主要业务微服务,微服务之间利用gRPC进行通信,并将其编译为二进制文件,构建镜像后放入Docker容器进行部署,提高开发运维效率。(2)数据层利用关系数据库、缓存数据库和时序数据库保证平台数据稳定存取。数据库地址、注册中心地址等信息均由配置统一管理,对配置提供统一解析接口,封装不同环境的配置,屏蔽配置管理和数据库访问的具体细节,满足不同开发运维人员的需求。(3)构建微服务治理体系,服务治理系统包括注册中心、监控中心、链路中心和容器中心。注册中心为微服务提供注册与发现功能;监控中心监控服务以及服务所在主机的各项指标并对超出阈值的情况进行告警;链路中... 

【文章来源】:华中师范大学湖北省 211工程院校 教育部直属院校

【文章页数】:63 页

【学位级别】:硕士

【部分图文】:

基于go-micro的数据服务与服务治理平台设计与实现


图2.1?micro框架架构图??Go_micro框架是micro架构的核心,提供了分布式系统开发的主要功通,包括??

架构图,编解码器,框架,架构


?硕士学位论文??MASTER'S?THESIS??在内部环境中用于桥接内部服务。管理控制台与CLI有些许类似,但主要是通过??Web页面来展示服务的运行状况,通过页面所展示的服务请求与响应的状态,可以??直接查询到服务的端点信息。micro框架整体架构如图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框架架构图??Go_micro框架是micro架构的核心,提供了分布式系统开发的主要功通,包括??RPC和事件驱动的通信机制等。Go-micro主要包括以下特性:服务注册与发现、负??载均衡、消息编码、双向流的请求响应、异步消息通信和可拔插接口。g〇-micro的??架构如图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协议开发的高性能RPC框架,默认使用Protocol??Buffers作为序列化协议[25]。gRPC的基本思想是定义一个服务方法,指定其可以被??远程调用的参数和返回类型,基于此进行编译后可以得到支持多种主流语言和多种??操作系统的客户端和服务端代码,比如C++、Java、Golang等开发语言和Linux、??Windows、MacOS等操作系统,因此具有非常好的通用性,可以完美解决不同语言??和不同环境之间的通信问题,如图2.3所示。同时,gRPC通过可拔插的支持特性来??对数据中心和跨数据中心的服务进行连接,以实现负载均衡、链路追踪、健康状况??检查和身份认证,被广泛运用在etcd、istio等知名项目中。??m??',2敬?'參雙?1??图2.3?gRPC通信图??gRPC定义了四种服务方法,分别是单向RPC、服务端流式RPC、客户端流式??RPC和双向流式RPC。在高性能低延迟的需求下,流式RPC可以保持长连接,实??现多路复用,节省了多次创建连接的开销。gRPC也被设计成可以配合多种身份验??证机制协同使用,从而安全的与其它系统进行通信。其内置了?SSL/TLS来认证服务??器并加密客户端和服务端之间交换的所有数据,同时也提供了?Google基于OAuth2??的身份验证和可扩展的方式来支持开发者自定义的凭证类型[261。??7??

【参考文献】:
期刊论文
[1]基于Spring Boot技术的SOA接口研究[J]. 王悦.  信息技术. 2019(06)
[2]基于API网关的微服务组合策略研究[J]. 吴润.  数码世界. 2019(03)
[3]微服务架构下高校数据共享服务平台的设计[J]. 房立镇,王信堂.  电子技术与软件工程. 2019(06)
[4]北京大学 数据中心迁移中的虚拟化力量[J]. 张乃帅,杜晓峰.  中国教育网络. 2019(Z1)
[5]基于Spring Cloud的微服务构建及软件云化应用研究[J]. 梁安健,胡宁,罗剑武,陈泫文.  电子产品可靠性与环境试验. 2018(S1)
[6]基于微服务架构的统一应用开发平台[J]. 李春阳,刘迪,崔蔚,李晓珍,李春岐.  计算机系统应用. 2017(04)

硕士论文
[1]基于事件驱动的运维管理和服务注册系统的设计与实现[D]. 林扬舒.南京大学 2019
[2]知识付费系统的设计与实现[D]. 汪小发.南京大学 2019
[3]面向微服务架构的会议管理系统的设计与实现[D]. 王晴.华中科技大学 2018
[4]BRaft:一种拜占庭容错的Raft算法[D]. 李辰洋.华南理工大学 2018
[5]基于商业智能的高校一卡通数据分析平台设计与开发[D]. 闻忠.湖南大学 2017
[6]分布式系统自适应故障检测技术研究[D]. 代长波.浙江大学 2017



本文编号:3512135

资料下载
论文发表

本文链接:https://www.wllwen.com/guanlilunwen/ydhl/3512135.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户3ae9d***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com