1 / 19
文档名称:

微服务平台建设方案.docx

格式:docx   大小:97KB   页数:19页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

微服务平台建设方案.docx

上传人:guoxiachuanyue013 2022/6/2 文件大小:97 KB

下载得到文件列表

微服务平台建设方案.docx

相关文档

文档介绍

文档介绍:微服务平台建设方案
1系统设计
1・1总体框架
1・1・1功能架构
微服务平台主要由服务支撑层、基础服务层、通用服务及业务服务层
组成,系统总体功能架构图如下:
前端战用
基础设施
1)基础设施
微的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响,为此方案中通过集成ApacheSkyWalking组件,来帮助我们快速定位和解决问题。
ApacheSkyWalking包括了分布式追踪、性能指标分析、应用和服务依赖分析功能oSkyWalking核心包括探针Probo、后台服务Backend、存储Storage、可视化UI四部分组件,其中存储我们选用
ElasticSearch企业级搜索服务来来存储监控日志信息。
SkyWalking的探针只需要部署到要监测服务的服务器上,即可实现代码无侵入的方式收集服务相关日志信息。
探针收集到数据并进行格式转换后,将数据推送到后台服务,后台服务对收集的数据进行分析和聚和后存储到本方案选取的存储ElasticSearch上,以便可视化展示给最终用户。
服务器与组件监控
为了及时了解平台的健康情况,我们需要建包括服务器的CPU空闲率、CPU使用率、CPU负载率、可用内存、内存使用率、文件系统空闲空间、网络上传、下载速率、磁盘10情况,数据库吞吐量、连接情况、缓冲池使用情况、查询性能,ElasticSearch的查询索引性能、内存分配、垃圾回收情况、集群健康及节点可用性等多种指标。为此,本方案采用Prometheus组件实现平台的监控与报警功能。Prometheus是一套开源的系统监控报警框架,他包含了多个独立的组件,其中有些组件是可选的,我们方案主要选择如下组件:
PrometheusServer:用于收集和存储时间序列数据;
Exporters:用于暴露已有的第三方服务metrics给
Prometheus,本方案中主要用到了Node-Exporter、OracleExporter、Mysqld-Exporter、ElasticSearch-Exporter、Redis-Exporter;
Alertmanager:从Prometheusserver端接收到报警后,会进
行去除重复数据级分组操作,并通过邮件、短信等方式发出报警;
主要工作流程:
Prometheusserve定期从配置好的exporters中拉取metries;
Prometheusserver在本地存储收集到的metries,,记录新的时间序列或者向Alertmanager推送报警信息;
Alertmanager根据配置文件,对接收到的警报进行处理,发出告警;
在图形界面中,可视化显示采集数据;

在各个微服务开发实现过程中,根据业务需要我们会设置一些埋点记录应用日志,比如用Log4j记录应用日志信息,以便我们对应用进行分析排查问题或做统计分析。为了能够实时、可视化的方式对日志进行统计、分析、查看,方案选用ELK开源组件实现日志中心功能。ELK核心组件包括:
Elasticsearch:分布式搜索和分析引擎,具有高可伸缩、高可
靠和易管理等特点。能对大容量的数据进行接近实时的存储、搜
索和分析操作;
Logstash:数据收集引擎。它支持动态的从各种数据源搜集数
据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;
Kibana:数据分析和可视化平台。通常与Elasticsearch配合
使用,对其中数据进行搜索、分析和以统计图表的方式展示;
Filebeat:一个轻量级开源日志文件数据搜集器。在需要采集日志数据的服务上安装Filebeat,并指定日志目录或日志文件后,Filebeat就能读取数据,实时发送到Logstash进行解析,也可以直接发送到Elasticsearch进行集中式存储和分析。
另外,我们经常遇到一些需要将数据库中的数据同步到
Elasticsearch中,以便提高查询效率、降低数据库服务器压力的情
况,为了实现这样的功能通常有几个方案:
代码实现(双写),针对代码中进行数据库的增删改操作时,
同时进行elasticsearch的增删改操作;
mybatis实现,通过mybatisplugin截取sql语句进行分析,针对insert、update、delete的语句进行处理;
AOP实现,根据制定的规则,如规范方法名,注解等进行切面
处理;
Logstash,利用Logstash支持动态的从各种数据源搜集数据的特性,可以进行数据的同步,只需要简单的配置就能将Mysql、Oracle等数据