博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud学习笔记25——自动扩展
阅读量:3942 次
发布时间:2019-05-24

本文共 1104 字,大约阅读时间需要 3 分钟。

垂直扩展

在这里插入图片描述

水平扩展

在这里插入图片描述

自我注册和自我发现

  • 服务注册表
  • 客户端
  • 微服务实例

在这里插入图片描述

按需扩展

在这里插入图片描述

自动扩展的意义

好处:

  • 提高了高可用性和容错能力
  • 增加了可伸缩性
  • 具有最佳使用率,并节约成本
  • 优先考虑某些服务或服务组

自动扩展的常见模式

自动扩展的不同级别

应用程序级别

在这里插入图片描述

基础架构级别

在这里插入图片描述

自动扩展的常用方法

资源限制

在这里插入图片描述

特定时间段

在这里插入图片描述

消息长度

在这里插入图片描述

业务参数

在这里插入图片描述

根据预测

  • 历史信息
  • 当前趋势

如何实现微服务的自动扩展

要思考的问题

在这里插入图片描述

所需功能

依赖两个关键功能:

  • 一个容器抽象层,在许多物理或虚拟机上提供统一的抽象:如果没有统一的抽象,所部署的实例可能千差万别,很难按照统一编排进行扩展
  • 容器编排和初始化系统在集群抽象之上智能管理部署

容器编排

  • 容器编排工具提供了一个抽象层来处理大规模的集装箱部署
  • 具备发现、资源管理、监控和部署等功能

容器编排工作职责

  • 集群管理:将一个虚拟的或物理的集群作为一个大型的机器进行管理,这些机器在资源方面可能是异构的,但是基本上还是以Linux为主要的操作系统的机器,这些虚拟的集群可以在云端也可以在本地,或者是两地的结合
  • 自动部署:应该能够支持应用程序容器的多个版本,并支持在大量的集群的基础上进行滚动升级,这些工具应该能够处理错误,并且可以回滚到一些可用的版本上
  • 可伸缩性:可以根据需要来处理应用程序实例的自动以及手动的可伸缩性能,并将其作为一个主要目标来进行优化利用
  • 运行状况监控:适用于管理集群、结点、应用程序的运行状况,可以从集群中删除一些故障的机器或应用程序实例
  • 基础架构抽象:做了抽象后,开发者不用担心机器、容量等问题,因为这些都是容器编排软件来决定的
  • 资源优化
  • 资源分配:根据应用程序,开发人员设置的一些资源可用性和约束来分配服务器,资源分配将基于约束来进行实施
  • 服务可用性:要确保服务在集群中能够正常运行,在发生机器故障的情况下,容器编排要通过在集群中的某个其他的机器上能够重新启动这些服务来自动地处理这些故障
  • 敏捷性:将工作负载分配给可用的一些资源,或者在资源需求发生变化时将工作负载迁至其他的机器上,此外还可以根据业务关键性、业务的优先级等等来设置约束,重新调整资源
  • 隔离:这些工具中有一些是提供了一些即开即用的资源隔离的功能,因此即使这个应用程序没有进行容器化,也能够实现资源的隔离

资源分配常用算法

  • 传播(Spread
  • 装箱(Bin Packing
  • 随机(Random

传播

将负载平均分配到各个主机上

在这里插入图片描述

装箱

试图通过机器来填充来确保机器的最大使用率

在这里插入图片描述

随机

随机地在某一台机器上部署

在这里插入图片描述

常用的容器编排技术

  • Docker Swarm
  • Kubernetes
  • Apache Mesos

转载地址:http://fwswi.baihongyu.com/

你可能感兴趣的文章
using matlab drawing line graph for latex
查看>>
How package finding works
查看>>
build opencv3.3.0 with VTK8.0, CUDA9.0 on ubuntu9.0
查看>>
how to compile kinfu_remake with cuda 9.0 opencv2.4.13.4
查看>>
qtcreator4.4.1中cmake 与cmake3.5.1本身generate出来的setting是有区别的解决方法
查看>>
ubuntu下解决csdn网页打不开的问题
查看>>
MySQL server has gone away 问题的解决方法
查看>>
MySQL十大优化技巧
查看>>
PHP中文件读写操作
查看>>
php开发常识b_01
查看>>
PHP单例模式
查看>>
PHP项目设计
查看>>
memcache的安装及管理
查看>>
git 传输
查看>>
创建新项目
查看>>
印刷工艺- 喷墨印刷
查看>>
印刷工艺流程
查看>>
印刷业ERP启蒙
查看>>
Java8 Lambda表达式使用集合(笔记)
查看>>
Java魔法师Unsafe
查看>>