《应用服务平台-分布式微服务应用平台建设方案.docx》由会员分享,可在线阅读,更多相关《应用服务平台-分布式微服务应用平台建设方案.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、分布式微服务应用平台建设方案系统概述建设背景世界正处于重大的技术变革之中,数字化正在主导经济的各个领域。在市场营销领 域,数字消费者也日渐成熟,他们对于服务、速度和个性化的期待有了巨大转变,而这 仅仅是个开始,因为互联网还在进化,万物相连已经不再停留在口上。“互联网+”推动企业开始变革其产品、商业模式以及所有支持流程。企业需要开 发新的IT系统,需要与其他伙伴协作互联的跨系统工作方式。需要实现IT系统支撑企 业业务快速变化,需要支撑互联网应用特有的业务突发性、高并发、大容量。所以企业 需要通过引入互联网技术提升IT系统的技术能力,帮助企业构建一个可以支撑企业业 务快速交付、持续迭代、的基础业务
2、PaaS平台,通过互联网微服务架构的共享服务建 设模式,使业务数据积累和沉淀并形成资产,让数据说话成为可能,加速企业的数字化 转型。企业应用架构已经从SOA结构演进到微服务架构,倡导服务的细粒度、分布式、 扩展性和治理能力。微服务在降低开发难度和提高系统扩展性的同时,往往也面临着工 程管理、系统集成、服务治理以及部署运维等多方面的交付挑战。所以大家希望引入一 个技术平台可以承载laaS层所没有解决的微服务自动化管理问题。同时提供丰富的基 础开发组件如:规那么引擎、工作流、投递中心,以及企业外部的互联网能力如:消息推 送、在线支付、邮件、短信、第三方平台等,可以在各个应用中复用和锤炼,以获得更
3、高效的开发、更稳定的质量、更好业务契合度和更高的性能。1.1 建设目标应用服务平台提供从开发、交付、运维监控一站式的平台解决方案,具体的建设目 标如下:D构建完整的开发交付部署运维体系应用服务平台以智能化和自动化为理念,通过持续集成、持续交付、自动化部署和3.4应用部署应用部署为应用提供部署包和镜像双重部署模式,并通过应用发布功能,实现应用 在线安全发布和自动化部署的能力,同时,根据应用的负载信息,实现应用的在线弹性 扩展,从而保证应用的高并发性。3. 4.1应用发布应用发布为应用提供完整的在线发布流程,支持JAR/WAR和镜像两种形式的发布 模式,从而能够较好地满足不同部署包的发布需求。同时
4、,提供应用在线自动集群部署 的能力,部署人可根据需要手动填写集群的数量,平台会根据数量自动分配部署资源和 创立相应数量的部署实例,并以虚拟化的技术进行跨平台部署。3. 4. 2弹性扩展平台为部署的应用提供实时的资源监控,当资源到达阈值,那么会自动进行分布式实 例的扩展,从而有效地保障了应用的高并发性性。同时,平台对应用运行的健康状态也 进行实时监控,当发现应用的健康状态出现问题,会重新自动分配新的虚拟化部署实例, 从而有效地保障应用的高可靠性。3. 4. 3镜像仓库开发人员把自己的代码通过编译打包,最终构建成一个镜像文件。运维人员把镜像 文件部署到对应的运行环境中。另外,该平台为支撑互联网+的
5、应用框架,会内置一些 基础镜像,因此,需要一个专门针对镜像管理的系统。镜像中心分为基础镜像和工程镜像,基础镜像存储平台提供的供用户使用的基础的 镜像。工程镜像是部署到平台上的工程对应的镜像。同时,镜像中心提供镜像的搜索功 能。镜像管理提供镜像上传、镜像删除、镜像信息查看和镜像信息编辑等全套镜像管理 功能,其中,镜像信息主要包括镜像名称、创立时间、版本数、最近使用时间、下载数、下载地址、容器端口、环境变量和存储卷等。3.5服务治理服务治理为微服务系统服务的发布和消费提供管理功能,支持dubbo框架的服务管 理,提供服务治理、服务监控等功能,并提供全链路跟踪、服务调用统计等功能。服务 治理功能主要
6、包括服务概览、服务列表、服务监控和调用链。3. 5.1服务概览以点线图形象地展示工程中各应用之间的服务调用关系,完整展示工程的服务拓扑 关系图。3. 5. 2服务列表以列表形式展示工程提供的全部服务信息(服务名、服务版本、服务组),并提供 根据服务名或者应用名搜索指定的服务信息,实现精准搜索。同时,提供每个服务的提 供者和消费者信息查看。3. 5. 3服务监控以列表形式展示工程中各应用中服务被订阅消费信息(应用名、最大并发数、最大 耗时、最大失败次数和最大成功次数),并提供根据应用名搜索指定应用的服务订阅消 息。同时,提供每个应用中指定时间范围内服务耗时详细列表、并发详细列表、失败详 细列表和
7、成功详细列表的查看。3. 5. 4调用链提供根据服务名、调用信息、开始时间、结束时间、用时和个数等条件搜索匹配的 服务调用信息功能,并以列表形式进行展示。同时,提供调用链中每次调用详细信息查 看功能。3.6运维监控监控对于运维是不可或缺的手段,特别是规模化的应用,需要一整套完整的采集、 预判、分析以及报警功能。平台提供应用、资源和接口完整的多维监控能力,并在此基 础上,提供分布式配置和分布式日志查看分析的能力,从而更好地为应用的运维监控提 供完整的平台支撑。3. 6.1应用监控告警平台对应用进行CPU、内存等资源信息的实时监控,并根据设置的报警规那么(CPU 使用率阈值、内存使用率阈值和磁盘使
8、用率阈值等),当资源信息到达应用的报警阈值 的时候,根据报警用户组设置,实现对用户分组报警提醒,实现精准的用户报警。3. 6. 2资源监控告警平台对整体资源进行CPU、内存等资源信息的实时监控,并根据设置的报警规那么 (CPU使用率阈值、内存使用率阈值和磁盘使用率阈值等),当资源信息到达报警阈值 的时候,根据报警用户组设置,实现对用户分组报警提醒,实现精准的用户报警。3. 6. 3接口监控告警平台对应用的接口的状态(包括接口是否可用、接口是否超时等)进行实时监控, 并根据设置的报警规那么(接口是否可用、接口超时时间等),当接口出现健康问题的时 候,根据报警用户组设置,实现对用户分组报警提醒,实
9、现精准的用户报警。3. 6. 4日志中心微服务系统往往需要多实例部署,实例数可以弹性增删,实例数可能十分庞大。这 些应用实例随机的分布在各个容器中,日志的查阅和问题定位带来非常大的挑战,所以 需要将日志中心化处理。日志系统提供日志采集、索引、归档以及分析功能,方便问题 定位和业务分析。日志中心功能主要包括日志概览、日志中心、清理规那么和日志索引。日志概览以曲线图、柱状图和环形图等形式提供工程中各个应用每日日志量、每日 的日志趋势图、每日日志error/warn比例的查看。日志中心以柱状图显示指定应用最近几天的日志量,并以列表展示详细的日志信息, 主要包括日志时间、应用名、日志等级、日志详细信息
10、。清理规那么提供日志的清理规那么,主要提供三个功能,索引关闭规那么设置、索引删除 规那么设置、立即清理。日志索引以列表形式提供全部索引的查看功能,并提供索引的翻开、关闭、删除等 基础操作功能。3. 6. 5配置中心微服务系统应用规模庞大,配置集中化管理是必不可少的。配置和应用别离可以更 好的解决分布式环境的配置问题,支撑交付件的持续交付,也降低了人为的操作的配置 出错几率。配置管理功能主要包括静态配置管理、配置导入、配置导出。静态配置管理提供静态信息在线创立、修改、删除和查看的基础管理功能。配置导入为外部配置信息导入平台提供了入口支持,外部规范格式的配置信息可直 接导入平台进行使用。配置导出为
11、平台的配置信息提供了出口支持,平台上的配置信息可通过该功能导出 规范格式的配置文件。3.7平台服务平台服务主要是在平台通用功能的基础上,为常用的功能(中间件服务、存储服务) 提供在线的软件服务功能,实现平台服务功能主要包括中间件服务和存储服务。3. 7.1中间件服务提供Redis、Zookeeper三种常用中间件的在线服务功能,从运行模式、实例管理、实例配置和实时监控四个方面为中间件提供完整的在线服务功能,并提供易于操作的界 面,从而使用户无需关心部署细节,直接在线构建服务。3. 7. 2存储服务提供存储卷创立、删除、查看功能,实现对存储卷完整的在线管理。3.8 安全防护安全防护通过防盗链功能
12、对平台上的图片、数据等应用信息提供安全防护能力,并 通过 S安全证书管理功能实现 S证书与应用自动绑定能力,减少应用与 S证书手动绑定的强度。同时,提供安全访问渠道设置功能实现多渠道的安全防 护设置,对渠道外的请求实现非法屏蔽,从而为应用提供全方位的安全防护能力。3. 8.1防盗链防止外界恶意访问平台的拦截功能,主要是展示拦截的信息,用户通过单击侧边栏 进入界面,展示了最近2个半小时时间内的拦截统计。单击“详细信息”标签查看详细拦截信息,主要展示了访问的创立时间、出入口流 量、当前会话数、最大会话数、会话速率、新建会话速率、累计会话数、拦截数、错误 请求数以及重连次数。4. 8. 2 S安全证
13、书管理平台支持 s证书的配置功能,平台会自动将 s与各个应用进行绑定,实现加 密访问功能,在保证安全访问的同时,实现 s访问自动化,防止 s证书与不同应 用手动绑定的工作强度。5. 8. 3应用访问渠道设置平台为应用提供各个渠道的安全设置功能,每个不同的渠道设置不同的标识符,平台根据标识符对平台的应用进行安全防护,便于外部请求应用资源,造成资源的外泄, 同时防止外部无用的请求给应用带来并发量的风险。3.9 系统管理系统管理提供角色和用户双重管理能力,提供用户与角色绑定功能,对用户赋予不 同权限的管理能力,同时,记录各个用户的全部操作记录,并在此基础上提供日志审计 功能,便于对用户的操作记录进行
14、溯源。3. 9.1用户管理单击用户管理后,可以看到各个部门用户的详细信息,包括邮箱、联系 、用户 的创立时间、所属的空间和空间角色。超级管理员登录后可以查看全部用户,组织管理 员登录后看到的只有本组织的用户。在用户管理页面可以创立用户、修改用户、删除用户和重置密码。单击创立弹出如 下窗口,即可开始新用户的创立。单击修改用户,可以对用户的手机号、所属空间及角 色进行修改。单击删除用户,将选中用户删除。单击重置密码,可以对用户的密码进行 修改。3. 9. 2日志审计平台会记录用户对应用的全部操作,包括创立、上传、发布、变更、下线等行为, 便于运维期间对用户行为轨迹的审计工作。可视化运维等技术手段,
15、实现业务系统从开发,交付-部署-运维全流程体系的构建, 并通过集群部署功能,实现通用能力应用的自动化交付部署能力,从而形成完整的持续 开发交付部署运维体系,为业务需求的快速变化提供有力的体系支持。2)构建完整的能力服务发布治理体系应用服务平台在开源的微服务规范基准上,提供高可靠的微服务框架,实现通用的 能力服务的发布、调用和负载均衡等服务跨域功能,并在此基础上提供完整的服务状态 监控和服务调用链跟踪等服务治理功能,实现能力服务的实时发布、实时调用和实时监 控,从而形成完整的能力服务发布治理体系,为能力服务的沉淀和统一提供有力的保障。3)构建完整的监控体系应用服务平台采用信息采集、信息预判和信息
16、分析等技术手段,构建实时的应用监 控功能,并基于集群监控技术、实时推送渠道和可视化展示方式,实现应用分布和应用 状态等信息的实时展示和查看,便于实时掌控全部应用的分布和运行状态情况,并通过 可视化的应对手段及时地进行处理,从而形成完整的应用监控体系。1.3建设原那么(1)标准化、规范化原那么标准化、规划化是本系统建设的基础,也是进行信息交换的基本前提。在本系统建 设中,应该强调统一规范、统一接口,规范平台建设的基本功能、业务流程、数据模型 和数据编码等信息标准,逐步满足平台建设的需要。(2)技术先进性原那么充分考虑微服务技术开展趋势,面向需求,引进和吸收世界上先进和成熟的技术, 利用系统设计方
17、法,对系统的总体结构、数据流程、功能结构、数据库等方面进行设计, 保证系统建设的合理性和软件功能上的先进性,使系统具有较长的生命周期。(3)安全可靠原那么采用成熟的技术,选用性能可靠、稳定的产品,充分考虑系统建设与运行的环境, 确保各种设施和软件运行的安全性与可靠性。系统要有软件应急备份措施,保障系统能 不间断地实时运转。在系统意外故障或系统崩溃时能及时恢复运行;系统要有较强的容 错能力;要有对系统软件资源和运行情况的监控管理措施。(4)可扩充性原那么既考虑当前的功能需求,合理配置,使系统的各个组成局部都能发挥最正确性能,使 系统建成后能尽快投入业务使用,尽快发挥效益,又要有前瞻性,考虑到经济
18、、社会的 开展和科学技术水平的提高,用可持续开展的观念进行系统设计,便于不断扩充系统的 功能。2 平台总体设计总体功能应用服务平台的功能包括资源管理、应用管理、开发交付、应用部署、服务治理、 运维监控、平台服务、安全防护和系统管理。应用服务平台系统管理安全防护平台服务运维监控服务治理应用部署开发交付应用管理资源管理图2-1功能结构图2.1 系统架构应用服务平台整体架构如图2-2所示。应用服务平台由应用管理、开发交付、应用部署、运维监控、服务治理、资源管理、平台服务、安全防护、系统管理和规范几大部分组成,其中,开发交付和服务治理为分布式微服务应用的开发提供框架级支撑和完整的微服务治理能力。应用管
19、理、应用部署、运维监控、安全防护和资源管理为分布式微服务应用和传统应用等各种形式的应用提供完整的应用管理、应用在线部署、弹性扩展、运维监控、自动告警等功能,并通过防盗链、 S安全证书管理等措施对应用以及服务提供安全防护能力,同时,日志中心和配置中心提供跨实例的应用日志和配置管理功能。平台服务提供统一的中间件服务,进一步加强平台对应用的技术能力的支撑能力。行业应用H5CRMERP0AIT安全防护开发交付防盗链 S安全证书管理应用管理代码仓库测试中心应用监控告警资源监控告警构建管理持续集成与交付应用部署应用发布弹性扩展镜像仓库规范微服务规范日志中心接口监控告警配置中心服务治理服务概览服务列表调用链
20、服务监控部署规范应用访问渠道设置资源管理平台服务主机管理主机组管理中间件服务存储服务系统管理用户管理 日志审计接口规范基础设施图2-2应用架构图2.2 部署设计2. 3.1资源要求节点名称数量(台)CPU(核)内存 (G)系统盘 (G)数据盘 1(G)数据盘 2(G)OS版本备注负责均衡(硬件SLB)1跳板机12460100Windows Server2016 64 位远程登录使用反向代理服务器21240100CentOS 7.2 64 位管控服务器341640500500CentOS 7.2 64 位管控服务器必须是挂载 双数据盘仓库服务器12440500CentOS 7.2 64 位应用服
21、务器281640200CentOS 7.2 64 位具体应用服务器的资源 需求需要根据部署的应 用情况调整2.3 3. 2网络要求所有服务器内网互通,带宽需要保证100M以上,且IP地址固定,不能动态分配。3 平台功能设计资源管理资源管理支持主机的添加修改删除等基本的资源管理功能,并在此基础上通过主机 组的模式对资源进行隔离管理,防止资源间的互相竞争。3.1.1 主机管理提供主机操作管理和主机详情查看功能,其中,主机操作管理提供主机创立、主机 删除、主机隔离、主机恢复、主机应用迁移、设置为构建节点、取消构建节点和主机标 签维护功能。主机详情查看以列表形式显示全部或者分组的主机信息,包括主机IP
22、、 主机组、主机标签、实例数、CPU、内存、状态和运行时间等信息。3. 1.2主机组管理提供主机组管理和主机信息查看功能。其中主机组管理实现主机组的创立、修改、 删除和查看功能。主机信息查看以列表形式展示创立的全部主机组信息,包括主机组名、 描述、包含的主机数、创立者和创立时间等信息。3.2应用管理应用管理提供工程、环境、应用三层级的应用管理,在此基础上,提供应用基础管 理、部署管理、资源配额、实例列表、环境变量、服务配置、实例日志、服务列表、存 储卷管理、应用监控、操作记录和高级配置等完整的应用相关信息管理功能,从而为应 用从开发到部署运维全周期提供完整的功能支撑。3. 2.1工程管理工程管
23、理提供多工程支持,允许创立和管理不同工程,通常使用场景为同一个团队 并行开发多个工程或者同一个组织支持多个工程并行维护。工程管理功能主要包括工程基础管理、服务框架管理、成员管理、工程详情和通知 管理。工程基础管理提供工程的创立、修改和删除等基础的工程操作,同时提供所有工程 的列表查看功能,并支持根据工程名搜索工程功能。服务框架管理提供工程与服务框架(dubbo框架)绑定功能,提供工程初始化的服 务框架选择功能,目前支持无服务框架的普通工程和基于服务框架的服务工程两种类型 的工程支持。成员管理为工程提供工程成员管理功能,包括成员的新增、修改和删除操作,同时 提供成员与角色绑定、成员对应用操作权限
24、、成员对不同工程环境的操作权限的管理功 能,实现工程、环境、应用、角色和成员全方位的权限控制,在此基础上,提供完整的 成员列表查看功能。工程详情提供工程总览和操作记录查看两个功能,其中,工程总览以形象的点图形 式实时显示目前该工程各个环境的状态(正常、受控和禁用)。操作记录显示工程里面 应用的上线、下线、启动和重启等各种操作记录,并记录了每次操作的时间和操作人详 细信息。通知管理通过机器人实现实时的通知功能,并提供机器人的添加、删除、启动、停 用等基本操作,同时以列表的形式实时展示目前的机器人信息。3. 2. 2环境管理根据持续交付的软件工程思想,一般一个系统的版本经过多个部署环境的迭代发布,
25、 最终运行在生产环境。一般情况下,一个完整生命周期的交付需要开发环境、测试环境、 生产环境。环境管理功能主要包括环境基础管理、资源审核、资源限额、环境详情和发布控制。环境基础管理提供环境的创立、修改和删除等基础的环境操作,同时提供所有环境的列表查看功能,并支持根据环境名搜索环境功能。资源审核提供创立申请审核和资源扩容审核功能,其中,创立申请审核主要是对申 请资源的权限进行审核,判断申请人是否有资源扩容的权限。资源扩容审核主要是对申 请扩容的资源的量进行审核,主要包括CPU、内存、实例数和存储卷容量。资源限额主要是对资源扩容进行限额控制,以免申请人申请超过平台剩余的总资源, 主要包括CPU、内存
26、、实例数和存储卷容量。环境详情提供环境总览、应用信息、系统拓扑、业务编排和操作记录五个功能,其 中,环境总览提供环境基础属性信息(包括环境名称、创立者、环境描述、创立时间、 环境类型和继承环境等)、资源使用情况(已经使用和剩余的CPU、内存、实例数和存 储卷容量)和环境高级信息(代码工程位置、交付件位置、是否开启调试、是否开启缓 存等)的查看功能。应用信息主要展示目前环境中部署的各应用的状态信息(总应用数、 总运行应用数、已停止应用数、故障应用数)和资源使用信息(内存、CPU和实例数 前10名的应用排名;本周活跃的前10的应用排名)。系统拓扑提供各种类型的应用排 列情况,包括前端、基础服务或者
27、持久层等(该类型是部署人自行定义的)。业务编排 根据K8s的编排文件规那么显示目前部署的应用编排信息,并提供各种环境中各种应用 编排文件导入和导出的功能。操作记录以列表形式显示该环境所有操作的信息,包括操 作类型、操作人、操作时间等。发布控制主要提供继承环境控制、环境更新禁用和指定运行主机组,其中,继承环 境控制实现创立环境和对继承环境的继承功能。环境更新禁用实现指定环境禁用功能, 即禁用后不运行工程与该环境进行绑定。指定运行主机组提供环境与指定的主机组进行 绑定,环境在指定的主机组进行资源分配。2.4 2. 3应用管理提供应用发布和生命周期管理,基于kubernetes实现的容器编排,具备资
28、源调度、 部署运行、服务发现、扩容缩容等一整套功能。通过系统内置的服务镜像,支撑基于互 联网+应用框架开发的应用交付和运维。应用管理功能主要包括应用基础管理、部署管理、资源配额、实例列表、环境变量、 服务配置、实例日志、服务列表、存储卷管理、应用监控、操作记录和高级配置。应用基础管理提供应用的创立、修改和删除等基础的应用操作,同时提供所有应用的列表查看功能,并支持根据应用名搜索应用功能。部署管理主要提供生命周期管理、版本管理、更新触发器三个功能。其中,生命周 期管理主要是为各个应用提供上线、启动、停止、重启、下线、删除全周期管理功能, 并提供批量操作功能。版本管理为应用提供更新和回退版本的功能
29、,并记录全部版本操 作的记录。更新触发器主要提供应用版本更新的触发器创立和删除功能,同时以列表的 形式展示创立的触发器。资源配额通过系统提供的资源模板对应用的资源进行配额管理。实例列表以列表的形式展示应用运行的所有实例数信息,包括实例名、状态、运行 时间、CPU占用、内存使用值和重启次数,同时为每个实例提供实例数弹性伸缩功能。环境变量提供环境变量的新增、修改、删除功能,同时以列表的形式展示环境变量 信息。服务配置提供端口管理和域名管理功能,其中,端口管理提供对内端口映射和对外 端口映射。域名管理提供添加和删除域名功能。实例日志显示应用每个实例的日志详细信息,并实现日志实时更新。服务列表以列表的
30、形式显示应用对外提供的服务接口信息(服务名、服务版本和服 务组),并显示服务接口消费情况。存储卷管理提供挂载存储卷和编辑存储卷功能,实现应用与存储卷绑定和解绑功能。应用监控提供健康检查配置和应用监控信息显示,健康检查配置提供健康检查开启 关闭按钮、检查端口、检查的路径信息。应用监控信息显示以曲线显示内存使用值、 CPU使用率、网络入流量、网络出流量等监控信息、。操作记录以列表形式显示该应用所有操作的信息,包括操作类型、操作人、操作时 间等。应用高级配置提供镜像拉取策略、自定义DNS解析和时区调整功能,其中,镜像 拉取策略可设置镜像是从云端镜像仓库还是本地镜像仓库拉取。自动有DNS解析提供 机器
31、名、端口的域名解析配置。时区调整提供是否可设置为东八区的时区设置功能。3.3开发交付开发交付为分布式微服务应用的开发、测试、交付提供完整的开发支撑,主要提供 代码仓库、应用工程、测试中心、构建管理和持续集成与交付。3. 3.1代码仓库提供代码仓库的添加、编辑、删除、停用、启用等基本管理功能,并以列表形式提 供代码仓库的查看功能。3. 3. 2应用工程应用工程提供选择相应的工程和环境下创立应用,同时,提供为应用分配相应的资 源,并提供应用列表的查看和应用的具体信息的查看功能。3. 3. 3测试中心测试中心提供工程在线测试的能力,主要包括API接口管理、API测试集管理、环 境变量、压测挡板、自动化测试。3. 3. 4构建管理构建管理支持JAR、WAR的直接部署,也支持镜像的直接部署,同时,提供了自 定义构建的功能,从而开发部署提供了更灵活的自主构建能力。3. 3. 5持续集成与交付持续集成模块基于统一的代码库和统一镜像仓库,提供代码集成、编译集成和部署 集成功能,从而实现代码到编译部署无缝衔接,提供代码迭代的自动化程度。持续交付 模块提供同一个应用在开发环境、测试环境、生产环境等多环境下持续部署功能,从而 实现一个部署包跨环境部署的能力。