微服务平台建设方案

阅读: 评论:0

服务平台建设方案
1 系统设计
1.1 总体框架
1.1.1 功能架构
微服务平台主要由服务支撑层、基础服务层、通用服务及业务服务层组成,系统总体功能架构图如下:
1) 基础设施
微服务平台的基础设施包括网络、存储、计算等硬件基础设施,为平台的运行提供基础保障。
2) 服务支撑层
服务支撑层为保证整个服务平台健康、高效运行提供支撑服务,包括服务注册与发现中心、配置中心、日志中心、监控中心、服务限流降级与熔断、微服务网关等支撑服务功能。
3) 基础服务层
基础服务层将平台通用的功能以服务的形式进行封装,为其他业务服务的实施提供基础服务,包括分布式缓存服务、分布式存储服务、搜索服务、消息队列服务、分布式事务服务、任务调度服务、统一认证中心、用户中心、组织机构管理、代办任务中心、流程管理中心等基础服务功能。
4) 通用服务层
通用服务层,是将一般业务功能开发都需要使用的功能进行封装,形成通用服务,提高开发效率,控制开发质量的一种方式。
5) 业务服务层
通过通用服务实现的业务逻辑部署在业务服务层,为前端应用提供服务。
1.1.2 逻辑架构
平台架构以Spring Cloud 微服务架构为核心进行构建,集成了Spring Cloud Alibaba Nacos 实现服务注册、发现与配置管理,集成Skywalking、 Elastic Logstash、Elastic Search、Elastic Kibana 实现日志中心功能、集成Prometheus、Grafana 实现监控预警功能、集成Spring Cloud Admin 实现微服务监控功能、集成Alibaba Sentiel 实现服务限流、降级与熔断功能,集成Spring Cloud Gateway 实现了微服务网关功能。
1.2 详细功能说明
1.2.1 服务支撑层
服务支撑层为保证整个服务平台健康、高效运行提供支撑服务,包括服务注册与发现中心、配置中心、日志中心、监控中心、服务限流降级与熔断、微服务网关等支撑服务功能。
1.2.1.1 服务注册、发现与配置
Spring Cloud Alibaba Nacos 是阿里巴巴公司的开源组件,Nacos 提供了一组简单易用的特性集,能够快速实现动态服务注册、发现、服务配置、服务元数据及流量管理功能,帮
助企业更敏捷和容易地构建、交付和管理微服务平台,是构建以“服务”为中心的现代应用架构服务的基础设施。
服务发现和服务健康监测
Nacos支持基于DNS和基于RPC的服务发现。服务提供者使用原生SDK、OpenAPI或一个独立的Agent TODO注册服务后,服务消费者可以使用DNS TODO 或HTTP&API查和发现服务。
Nacos提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos支持传输层 (PING或TCP)和应用层 (如 HTTP、MySQL、用户自定义)的健康检查。对于复杂的云环境和网络拓扑环境中(如 VPC、边缘网络等)服务的健康检查,Nacos提供了Agent上报模式和服务端主动检测2种健康检查模式。Nacos 还提供了统一的健康检查仪表盘,帮助根据健康状态管理服务的可用性及流量。
动态配置服务
动态配置服务可以平台以中心化、外部化和动态化的方式管理所有环境的应用配置和服务
配置。
动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。
配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。
动态 DNS 服务
动态 DNS 服务支持权重路由,让平台更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。动态DNS服务使平台更容易地实现以 DNS 协议为基础的服务发现,以帮助消除耦合到第三方应用私有服务发现API上的风险。
1.2.1.2 服务监控中心
整个平台分布着大量的服务器、中间件、数据库、微服务组件,对他们的性能、运行指标、健康状况的监控就显得尤为重要。方案通过多种组件集成的方式提供了整个平台的可视化监控中心功能。
分布式链路追踪
随着业务的发展,平台中提供的服务会越来越多,服务之间的调用也会越来越错综复杂,一个请求可能会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响,为此方案中通过集成Apache SkyWalking组件,来帮助我们快速定位和解决问题。
Apache SkyWalking包括了分布式追踪、性能指标分析、应用和服务依赖分析功能。SkyWalking 核心包括探针Probo、后台服务Backend、存储Storage、可视化UI 四部分组件,其中存储我们选用Elastic Search 企业级搜索服务来来存储监控日志信息。
SkyWalking 的探针只需要部署到要监测服务的服务器上,即可实现代码无侵入的方式收集服务相关日志信息。
探针收集到数据并进行格式转换后,将数据推送到后台服务,后台服务对收集的数据进行分析和聚和后存储到本方案选取的存储Elastic Search 上,以便可视化展示给最终用户。
服务器与组件监控
为了及时了解平台的健康情况,我们需要建包括服务器的CPU空闲率、CPU 使用率、CPU负载率、可用内存、内存使用率、文件系统空闲空间、网络上传、下载速率、磁盘IO情况,数据库吞吐量、连接情况、缓冲池使用情况、查询性能,Elastic Search 的查询索引性能、内存分配、垃圾回收情况、集健康及节点可用性等多种指标。为此,本方案采用Prometheus组件实现平台的监控与报警功能。Prometheus 是一套开源的系统监控报警框架,他包含了多个独立的组件,其中有些组件是可选的,我们方案主要选择如下组件:
1.Prometheus Server: 用于收集和存储时间序列数据;
2.Exporters: 用于暴露已有的第三方服务metrics给Prometheus,本方案中主要用到了Node-Exporter、Oracle Exporter、 Mysqld-Exporter、ElasticSearch-Exporter、Redis-Exporter;

本文发布于:2023-05-07 14:30:32,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/90947.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:服务   中心   功能
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图