美文网首页写作与程序
微服务笔记30:实现容器规划

微服务笔记30:实现容器规划

作者: 胖琪的升级之路 | 来源:发表于2018-10-31 23:06 被阅读0次

多个微服务容量如何规划。
单体应用的时候根据应用的访问量和实际接口性能来决定要不要给单体应用扩容。
微服务后需要考虑每个服务的容量规划。

待解决的问题

  • 服务数量多,人肉运维难以管理。
  • 接口表现差异,有的接口访问量大,有的接口响应时间比较短,有的接口访问时间比较长。
  • 服务部署的集群规模大小不同,扩容的机器数量差异比较大。有的服务需要几台机器即可,有的需要几十台机器才可以。
  • 服务之间还有依赖关系,一个服务扩容,还需要考虑依赖的服务是否也需要进行扩容。

规划

规划实施需要考虑两点:

  • 评估集群的最大容量和线上实际运行的符合,做好容量评估。
  • 确定弹性扩容的时机以及机器数。

容量评估

一般选择的方案是通过线上实际的压测来确定的。压测需要注意的关键点如下:

  1. 合适的压测指标
    选择压测指标有两类抉择。
    • 系统类指标,机器的CPU使用率,内存占用率,磁盘IO使用率以及网卡带宽等;
    • 服务类指标,接口响应的平均耗时,P999耗时,错误率等
      除了观察这些指标之外,还可以观察接口的慢速比,也就是接口响应时间高于某个阈值
  2. 压测获取单机的最大容量
    集群的最大容量就是单机的最大容量*集群内的机器数量。
    两种方式获得单机的最大容量。
  • 单机压测: 通过日志回放模拟线上流量对单机进行压测,or,通过TCP-Copy的方式把流量考本过来对单机进行压测。
  • 集群压测:不断的把线上集群的节点摘除,减少机器数的方式,来增加线上节点单机的流量,达到压测的目的。集群压测的方式采用平均QPS来作为单机的最大容量,但是不一定合理,可以在计算单机容量的方式上进行区间加权计算。
  1. 实时获取集群的运行负载
    通过压测获取到单机的最大容量,再乘以集群内的机器数量就是集群的最大容量。
    然后价计算集群实际运行的负载,来判断是否需要扩容。也需要才去加权的方式进行计算。

调度决策

有了数据然后记性调度策略。利用水位线进行调度决策。
水位线:任何时刻的水位线就是集群的最大容量除以集群的实际运行负荷。

扩缩容机器数量决定

  • 扩容: 按照数量或者是按照比例。一般采用比例的方式,继续观察水位线是否达到了致命线以上的位置。
  • 缩容:采用逐步的方式进行缩荣,10%、30%、50%等比例缩容。
    进行两个操作的时候,防止网络抖动的因素导致水位线进行抖动,根据时间进行采集水位线,满足一半以上的点才开始进行扩容。

相关文章

  • 微服务笔记30:实现容器规划

    多个微服务容量如何规划。单体应用的时候根据应用的访问量和实际接口性能来决定要不要给单体应用扩容。微服务后需要考虑每...

  • Laravel 服务容器实现原理

    前言 通过实现laravel 框架功能,以便深入理解laravel框架的先进思想。 什么是服务容器 服务容器是用来...

  • docker link 练习

    docker link 练习 部署两个容器,一个web服务,一个数据库服务,实现web容器从数据库容器拿数据 环境...

  • Laravel 核心--服务容器

    简介 服务容器就是一个普通的容器,用来封装类的实例,然后在需要的时候再取出来。用更专业的术语来说是服务容器实现了控...

  • Docker笔记之网络管理

    Docker中的容器的网络默认与宿主机、与其他容器都是相互隔离的, 实现容器之间、容器运行的服务于外部网络之间等的...

  • RocketMQ集群搭建简明教程

    一、RocketMQ集群搭建 集群规划 名称broker角色IP&portnameSer-1注册服务中心UAT容器...

  • laravel中服务容器

    1 什么是服务容器 Laravel 服务容器是一个用于管理类依赖以及实现依赖注入的强有力工具。依赖注入这个名词表面...

  • Docker容器自动重启

    实现在服务器重启后自动启动docker服务以及容器(类似于守护进程服务)。 重启启动docker服务 重启启动do...

  • Redis和Sentinel搭建一主多从高可用集群

    本文将利用redis的sentinel,实现redis集群的高可用。 1.服务器规划 服务器资源规划如下表: 机器...

  • 48. 服务容器 PSR-11容器接口

    Laravel 的服务容器实现了 PSR-11 接口。因此,你可以对 PSR-11容器接口类型提示来获取 Lara...

网友评论

    本文标题:微服务笔记30:实现容器规划

    本文链接:https://www.haomeiwen.com/subject/wgqotqtx.html