分布式应用服务平台构建指导

实践是知识的母亲,知识是生活的明灯。这篇文章主要讲述分布式应用服务平台构建指导相关的知识,希望能为你提供帮助。
企业级分布式应用服务是一个围绕应用和微服务的PaaS平台,为企业提供高可用和分布式的应用支撑平台。它不仅提供资源管理和服务管理系统,而且提供分布式服务框架、服务治理、统一配置管理、分布式链路追踪、高可用及数据化运营等。利用分布式应用服务,可以轻松构建微服务架构,建设大规模分布式系统,以发布和管理应用,协助应用进行 IT 系统转型,以满足不断增长的业务需求。

分布式应用服务平台是一个结合应用托管和微服务管理的PaaS平台,提供应用开发、部署、监控、运维等全栈式解决方案。平台大概要求如下:

  • 完善的鉴权体系保证每一次服务调用的安全可靠。
  • 完善的PaaS平台支持应用生命周期的管理。
  • 完整的服务治理解决方案管理分布式服务。
  • 全面的应用诊断排查系统轻松定位故障根源。
  • 自动弹性伸缩从容应对突发流量高峰。
  • 立体化多维度监控,实现全息排查。
  • 链路追踪洞察每一次分布式调用。
  • 依赖分析剖析每一处系统瓶颈。
同时构建的平台应该可以提供如下的功能:
1、应用基本管理和运维:可以一站式完成应用生命周期的管控,包括创建、部署、启动、停止、扩容、缩容和应用下线等,超大规模集群运维管理,轻松运维上千个实例的应用。
2、可视化控制台:提供Web界面形式的运维管控平台来对应用进行生命周期管理;可视化应用底层容器的版本升级与回滚;可以可视化对每个应用发布和订阅的服务进行管理;提供应用实时日志的Web界面可视化展示等等。
3、服务容错:在实际生产环境中,服务往往不是完全可靠的,可能会出错或者产生延迟。服务平台在服务调用的设计中,需要充分考虑到了容错的能力,能够在调用失败后自动重试、选择可用的其他服务节点。
【分布式应用服务平台构建指导】4、服务治理:提供必备的服务治理能力,包括服务自动注册与发现、服务鉴权、限流降级、服务分组、服务权重、服务市场等一系列服务治理能力。同时,可集成众多服务治理组件,以便应对突发的流量洪峰和服务依赖所引发的雪崩问题,提高平台的稳定性。
5、弹性伸缩:支持手动和自动两种方式来实现应用的扩容与缩容,可以通过对 CPU、内存和负载的实时监控来实现对应用的秒级扩容、缩容。服务容量随服务提供者部署实例的个数线性扩展。
6、主/子账户体系:为了更好地保护企业信息安全,实现企业级的账号管理,提供了完善的主/子账号管理体系。主账号可以分配权限和资源给多个子账号,实现按需为用户分配最小权限,从而降低企业信息安全风险,减轻主账号的工作负担。通过资源组定义可以对子账号所能使用的资源进行控制。根据部门划分、团队划分和项目划分建立对应的主/子账号关系,便于进行资源的分配。
7、权限控制:应用的运维通常涉及开发负责人、运维负责人和资源负责人。不同的角色对于一个应用的管理操作各不相同,角色和权限控制机制可以为不同的账号定义各自的角色,并分配相应的权限。
8、服务鉴权:微服务框架致力于确保每一次分布式调用的稳定与安全。在服务注册、服务订阅以及服务调用等每一个环节,都必须使用合法的安全令牌进行严格的服务鉴权。同时,支持多种维度的应用授权机制(黑白名单机制),确保对于敏感服务只允许经过授权许可的应用或节点进行调用访问。
9、服务限流:对每一个应用提供的众多服务配置限流规则,以实现对服务的流控,确保服务能够稳定运行。分布式应用服务从QPS和线程两个维度提供对限流规则的配置,确保系统在应对流量高峰时能以最强的支撑能力平稳运行。
10、服务降级:每一个应用会调用许多外部服务,对于这些服务(非核心链路上的外部服务依赖)配置降级规则可以实现对第三方服务异常的精准屏蔽,确保应用自身能够稳定运行,防止劣质的服务依赖影响应用自身的服务能力。从响应时间维度对降级规则进行配置,可以在应对流量高峰时合理地屏蔽劣质依赖。
11、链路追踪:能够分析分布式系统的每一次系统调用、消息发送和数据库访问,从而精准发现系统的瓶颈和隐患。通过链路分析的功能,可以准确地描绘出上层一次用户请求,所经历的所有系统、服务、调用所花的时间、是否有错误。通过链路分析功能,可以很好地管理大型分布式应用,并进行问题定位。
12、服务调用监控:能够针对应用的服务调用情况,对服务的QPS、响应时间和出错率进行全方位监控,帮助梳理调用依赖、分析系统瓶颈、估算容量、定位异常等。
13、IaaS层基础监控:分布式应用服务能够针对应用的运行状态,对机器的CPU、内存、负载、网络和磁盘等基础指标进行详细的监控。

    推荐阅读