当前位置:文档之家› 应用服务平台-分布式微服务应用平台建设方案

应用服务平台-分布式微服务应用平台建设方案

分布式微服务应用平台建设方案1系统概述1.1建设背景世界正处于重大的技术变革之中,数字化正在主导经济的各个领域。

在市场营销领域,数字消费者也日渐成熟,他们对于服务、速度和个性化的期待有了巨大转变,而这仅仅是个开始,因为互联网还在进化,万物相连已经不再停留在口上。

“互联网+”推动企业开始变革其产品、商业模式以及所有支持流程。

企业需要开发新的IT系统,需要与其他伙伴协作互联的跨系统工作方式。

需要实现IT系统支撑企业业务快速变化,需要支撑互联网应用特有的业务突发性、高并发、大容量。

所以企业需要通过引入互联网技术提升IT系统的技术能力,帮助企业构建一个可以支撑企业业务快速交付、持续迭代、的基础业务PaaS平台,通过互联网微服务架构的共享服务建设模式,使业务数据积累和沉淀并形成资产,让数据说话成为可能,加速企业的数字化转型。

企业应用架构已经从SOA结构演进到微服务架构,倡导服务的细粒度、分布式、扩展性和治理能力。

微服务在降低开发难度和提高系统扩展性的同时,往往也面临着工程管理、系统集成、服务治理以及部署运维等多方面的交付挑战。

所以大家希望引入一个技术平台可以承载IaaS层所没有解决的微服务自动化管理问题。

同时提供丰富的基础开发组件如:规则引擎、工作流、投递中心,以及企业外部的互联网能力如:消息推送、在线支付、邮件、短信、第三方平台等,可以在各个应用中复用和锤炼,以获得更高效的开发、更稳定的质量、更好业务契合度和更高的性能。

1.2建设目标应用服务平台提供从开发、交付、运维监控一站式的平台解决方案,具体的建设目标如下:1)构建完整的开发交付部署运维体系应用服务平台以智能化和自动化为理念,通过持续集成、持续交付、自动化部署和可视化运维等技术手段,实现业务系统从开发->交付->部署->运维全流程体系的构建,并通过集群部署功能,实现通用能力应用的自动化交付部署能力,从而形成完整的持续开发交付部署运维体系,为业务需求的快速变化提供有力的体系支持。

2)构建完整的能力服务发布治理体系应用服务平台在开源的微服务规范基准上,提供高可靠的微服务框架,实现通用的能力服务的发布、调用和负载均衡等服务跨域功能,并在此基础上提供完整的服务状态监控和服务调用链跟踪等服务治理功能,实现能力服务的实时发布、实时调用和实时监控,从而形成完整的能力服务发布治理体系,为能力服务的沉淀和统一提供有力的保障。

3)构建完整的监控体系应用服务平台采用信息采集、信息预判和信息分析等技术手段,构建实时的应用监控功能,并基于集群监控技术、实时推送渠道和可视化展示方式,实现应用分布和应用状态等信息的实时展示和查看,便于实时掌控全部应用的分布和运行状态情况,并通过可视化的应对手段及时地进行处理,从而形成完整的应用监控体系。

1.3建设原则(1)标准化、规范化原则标准化、规划化是本系统建设的基础,也是进行信息交换的基本前提。

在本系统建设中,应该强调统一规范、统一接口,规范平台建设的基本功能、业务流程、数据模型和数据编码等信息标准,逐步满足平台建设的需要。

(2)技术先进性原则充分考虑微服务技术发展趋势,面向需求,引进和吸收世界上先进和成熟的技术,利用系统设计方法,对系统的总体结构、数据流程、功能结构、数据库等方面进行设计,保证系统建设的合理性和软件功能上的先进性,使系统具有较长的生命周期。

(3)安全可靠原则采用成熟的技术,选用性能可靠、稳定的产品,充分考虑系统建设与运行的环境,确保各种设施和软件运行的安全性与可靠性。

系统要有软件应急备份措施,保障系统能不间断地实时运转。

在系统意外故障或系统崩溃时能及时恢复运行;系统要有较强的容错能力;要有对系统软件资源和运行情况的监控管理措施。

(4)可扩充性原则既考虑当前的功能需求,合理配置,使系统的各个组成部分都能发挥最佳性能,使系统建成后能尽快投入业务使用,尽快发挥效益,又要有前瞻性,考虑到经济、社会的发展和科学技术水平的提高,用可持续发展的观念进行系统设计,便于不断扩充系统的功能。

2平台总体设计2.1总体功能应用服务平台的功能包括资源管理、应用管理、开发交付、应用部署、服务治理、运维监控、平台服务、安全防护和系统管理。

图2-1功能结构图2.2系统架构应用服务平台整体架构如图2-2所示。

应用服务平台由应用管理、开发交付、应用部署、运维监控、服务治理、资源管理、平台服务、安全防护、系统管理和规范几大部分组成,其中,开发交付和服务治理为分布式微服务应用的开发提供框架级支撑和完整的微服务治理能力。

应用管理、应用部署、运维监控、安全防护和资源管理为分布式微服务应用和传统应用等各种形式的应用提供完整的应用管理、应用在线部署、弹性扩展、运维监控、自动告警等功能,并通过防盗链、HTTPS安全证书管理等措施对应用以及服务提供安全防护能力,同时,日志中心和配置中心提供跨实例的应用日志和配置管理功能。

平台服务提供统一的中间件服务,进一步加强平台对应用的技术能力的支撑能力。

图2-2应用架构图2.3部署设计2.3.1资源要求2.3.2网络要求所有服务器内网互通,带宽需要保证100M以上,且IP地址固定,不能动态分配。

3平台功能设计3.1资源管理资源管理支持主机的添加修改删除等基本的资源管理功能,并在此基础上通过主机组的模式对资源进行隔离管理,避免资源间的互相竞争。

3.1.1主机管理提供主机操作管理和主机详情查看功能,其中,主机操作管理提供主机创建、主机删除、主机隔离、主机恢复、主机应用迁移、设置为构建节点、取消构建节点和主机标签维护功能。

主机详情查看以列表形式显示全部或者分组的主机信息,包括主机IP、主机组、主机标签、实例数、CPU、内存、状态和运行时间等信息。

3.1.2主机组管理提供主机组管理和主机信息查看功能。

其中主机组管理实现主机组的创建、修改、删除和查看功能。

主机信息查看以列表形式展示创建的全部主机组信息,包括主机组名、描述、包含的主机数、创建者和创建时间等信息。

3.2应用管理应用管理提供项目、环境、应用三层级的应用管理,在此基础上,提供应用基础管理、部署管理、资源配额、实例列表、环境变量、服务配置、实例日志、服务列表、存储卷管理、应用监控、操作记录和高级配置等完整的应用相关信息管理功能,从而为应用从开发到部署运维全周期提供完整的功能支撑。

3.2.1项目管理项目管理提供多项目支持,允许创建和管理不同项目,通常使用场景为同一个团队并行开发多个项目或者同一个组织支持多个项目并行维护。

项目管理功能主要包括项目基础管理、服务框架管理、成员管理、项目详情和通知管理。

项目基础管理提供项目的创建、修改和删除等基础的项目操作,同时提供所有项目的列表查看功能,并支持根据项目名搜索项目功能。

服务框架管理提供项目与服务框架(dubbo框架)绑定功能,提供项目初始化的服务框架选择功能,目前支持无服务框架的普通项目和基于服务框架的服务项目两种类型的项目支持。

成员管理为项目提供项目成员管理功能,包括成员的新增、修改和删除操作,同时提供成员与角色绑定、成员对应用操作权限、成员对不同项目环境的操作权限的管理功能,实现项目、环境、应用、角色和成员全方位的权限控制,在此基础上,提供完整的成员列表查看功能。

项目详情提供项目总览和操作记录查看两个功能,其中,项目总览以形象的点图形式实时显示目前该项目各个环境的状态(正常、受控和禁用)。

操作记录显示项目里面应用的上线、下线、启动和重启等各种操作记录,并记录了每次操作的时间和操作人详细信息。

通知管理通过机器人实现实时的通知功能,并提供机器人的添加、删除、启动、停用等基本操作,同时以列表的形式实时展示目前的机器人信息。

3.2.2环境管理根据持续交付的软件工程思想,一般一个系统的版本经过多个部署环境的迭代发布,最终运行在生产环境。

一般情况下,一个完整生命周期的交付需要开发环境、测试环境、生产环境。

环境管理功能主要包括环境基础管理、资源审核、资源限额、环境详情和发布控制。

环境基础管理提供环境的创建、修改和删除等基础的环境操作,同时提供所有环境的列表查看功能,并支持根据环境名搜索环境功能。

资源审核提供创建申请审核和资源扩容审核功能,其中,创建申请审核主要是对申请资源的权限进行审核,判断申请人是否有资源扩容的权限。

资源扩容审核主要是对申请扩容的资源的量进行审核,主要包括CPU、内存、实例数和存储卷容量。

资源限额主要是对资源扩容进行限额控制,以免申请人申请超过平台剩余的总资源,主要包括CPU、内存、实例数和存储卷容量。

环境详情提供环境总览、应用信息、系统拓扑、业务编排和操作记录五个功能,其中,环境总览提供环境基础属性信息(包括环境名称、创建者、环境描述、创建时间、环境类型和继承环境等)、资源使用情况(已经使用和剩余的CPU、内存、实例数和存储卷容量)和环境高级信息(代码工程位置、交付件位置、是否开启调试、是否开启缓存等)的查看功能。

应用信息主要展示目前环境中部署的各应用的状态信息(总应用数、总运行应用数、已停止应用数、故障应用数)和资源使用信息(内存、CPU和实例数前10名的应用排名;本周活跃的前10的应用排名)。

系统拓扑提供各种类型的应用排列情况,包括前端、基础服务或者持久层等(该类型是部署人自行定义的)。

业务编排根据K8S的编排文件规则显示目前部署的应用编排信息,并提供各种环境中各种应用编排文件导入和导出的功能。

操作记录以列表形式显示该环境所有操作的信息,包括操作类型、操作人、操作时间等。

发布控制主要提供继承环境控制、环境更新禁用和指定运行主机组,其中,继承环境控制实现创建环境和对继承环境的继承功能。

环境更新禁用实现指定环境禁用功能,即禁用后不运行项目与该环境进行绑定。

指定运行主机组提供环境与指定的主机组进行绑定,环境在指定的主机组进行资源分配。

3.2.3应用管理提供应用发布和生命周期管理,基于kubernetes实现的容器编排,具备资源调度、部署运行、服务发现、扩容缩容等一整套功能。

通过系统内置的服务镜像,支撑基于互联网+应用框架开发的应用交付和运维。

应用管理功能主要包括应用基础管理、部署管理、资源配额、实例列表、环境变量、服务配置、实例日志、服务列表、存储卷管理、应用监控、操作记录和高级配置。

应用基础管理提供应用的创建、修改和删除等基础的应用操作,同时提供所有应用的列表查看功能,并支持根据应用名搜索应用功能。

部署管理主要提供生命周期管理、版本管理、更新触发器三个功能。

其中,生命周期管理主要是为各个应用提供上线、启动、停止、重启、下线、删除全周期管理功能,并提供批量操作功能。

版本管理为应用提供更新和回退版本的功能,并记录全部版本操作的记录。

更新触发器主要提供应用版本更新的触发器创建和删除功能,同时以列表的形式展示创建的触发器。

相关主题