设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 服务器 > 安全 > 正文

[YY互娱]基于 DevOps 理念的私有 PaaS 平台实践(4)

发布时间:2021-01-06 18:11 所属栏目:53 来源:网络整理
导读:6. 弹性扩展 弹性 弹性是 PaaS 平台的基本能力,弹性技术的好处有: 高性能:在业务访问规模上去时,服务器自动增加,保证性能 经济性:在业务规模降低时,自动收缩服务器,节省成本 高可用:如果有服务器宕机,自动进行

6. 弹性扩展

  • 弹性
    弹性是 PaaS 平台的基本能力,弹性技术的好处有:

    • 高性能:在业务访问规模上去时,服务器自动增加,保证性能
    • 经济性:在业务规模降低时,自动收缩服务器,节省成本
    • 高可用:如果有服务器宕机,自动进行故障隔离
    • 平滑部署:实现热部署,不影响现有业务运行弹性伸缩提供包括动态伸缩,热部署,故障隔离三层含义.弹性示意(图十四)

我们的弹性技术是由CloudRouter 和 CloudMonitor,资源池3个部分组成.架构:

  • CloudRouter是核心组件,是弹性调度的大脑,在用户的任务,资源分配中间起核心的调度协调的作用.
  • CloudMonitor 负责项目服务器的状态数据收集,并提供接口供 CloudRouter 查询状态.
  • 资源池是基于预创建的可用资源缓冲池.这里主要是指 VM 资源.VM 资源又分为多种配置,对于每种配置的资源,可在后台配置预先创建一定的数量.一旦服务需要资源,可立刻从池里获取.
  • 弹性的策略. 当前我们的弹性策略是模块的所有 VM 的负载平均值.当负载平均值大于我们们指定的弹性阀值,则进行扩展,可设置每次扩展的服务器数量.同样,当平均值小于我们指定的阀值,则进行缩减.

在实际的业务场景中,可能有些业务是内部小型项目,不需要进行弹性,是否弹性是一个可选项.另外,还有一些项目,可能无法满足无状态的设计要求,不希望每次部署都更换服务器,我们也提供了在部署的时候,选择“就地部署”,就地部署的意思就是每次部署都使用同样的服务器.弹性调度策略配置:

7. NoOps

  • 自主运维

平台提供一系列日常运维管理工具,包括常见的服务器性能查询,日志查询,应用分析工具,数据源相关信息查询.大多数场景下,开发人员无需登录服务器.

  • 日志管理
    日志管理方面,我们提供了两种方式

    • 文本日志.我们在每台vm上通过 Rsyslog 进程收集业务进程日志发到集中日志服务器.在集中日志服务器端,我们按项目名称存储,一个项目一个日志目录.日志目录权限管理,我们使用Linux 用户组权限设置,只有具备PaaS 平台项目管理权限的用户,才能查看该项目下的日志.
    • Web 日志分析.PaaS 平台对接了公司级的 Web 日志分析系统,能够实时展示项目域名的日志访问量,带宽流量,请求状态等情况.
  • 监控
    平台监控主要是基于 Zabbix 做了一些 API 层面的定制开发,我们内部称之的为“CloudMonitor“.主要包括以下三个方面功能:

    • 基础监控
      VM:基础监控包括 CPU,内存,磁盘 IOUtils,磁盘空间使用率,网络流量,TCP链接数,进程数等.监控信息如图:
    • 数据源:对 Mysql,Memcached 常规指标做了监控.
      自定义监控.支持 TCP,DNS,PING,HTTP,支持自定义告警条件和策略.如图:
    • 告警.平台告警由 CloudMonitor 组件负责,支持多种方式告警.CloudMonitor 组件是在Zabbix 的事件接口上,定期获取事件,按业务维度进行汇总分析发送给业务开发负责人和运维负责人.做了一定程度的事件聚合,比如宿主机 Down 机,宿主机上的 vm 相关信息关联起来,从业务开发负责人看:某 vm Down 机是由于某宿主机引起;从运维层面看,某宿主机 Down,影响了这些 vm,这些 vm 运行了这些业务.
  • 工具组件
    在自助运维场景中,开发人员需要对项目,域名,IP 信息进行查询,平台提供相应的工具.
  • 可用性反馈
    平台的可用性反馈,主要是对平台各个层面的服务可用性,进行系统化,自动化评估.这里主要介绍下我们的业务的可用性度量实践方法.
    我们称为“Monitor.X监控规范”具体描述如下:

    • X代表语言.(注:若是 PHP 项目,文件后缀为 monitor.php;若为 node.js,则文件名为,monitor.js).
    • 路径要求:url规则为http://项目域名/monitor/monitor.X)项目域名取配置管理里面,设置域名框中,去掉 包括 test 字符串后的第一个域名.
    • 输入参数:接口不用输入参数.
    • 输出说明:接口输出只分为两种,正常和不正常.
    • 正常:状态码为200,且输出包括字符串“200”
    • 非正常:状态码200或者非200,且输出字符串不包括200. (可以用作错误提示内容).
    • 对于状态码200,同时信息也包括200字符串,但是实际是服务不可用的情况,需要程序员特殊处理返回信息.
    • 接口内部实现要求:要覆盖系统的核心业务逻辑(业务自身把握);有多个业务逻辑时,也是统一在一个接口返回(调用顺序由业务控制).

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读