高可用设计

高可用设计

高可用设计
 负载均衡

  • 冗余设计:建立服务器群集,通过冗余的方式可以避免架构中出现单点故障。

  • 负载分发:有多个服务器可以响应同种请求时,引入负载均衡可以将请求合理分配到不同

    服务器中。

  • 容错机制:服务器运行异常时,并将访问请求转移到其它可以正常工作的服务器上的服务

    器上,从而提高服务器组的可靠性。

 网络基础

• 公网接口的高可用网络设计

• 两地三中心的高可用网络设计

 弹性伸缩

  • 可扩展性:根据在特定时间发生的负载来增加或减少资源。

  • 容错机制:有服务器出现故障时,弹性伸缩组会自动复制出健康的实例,以替换状态异常

    的实例

 无服务器云函数:只需执行代码

  • 可扩展性:在无服务器环境中,系统根据当前的负载自动扩展应用程序以满足用户需求的 能力。

  • 容错机制:自动地在地域内的多个可用区部署,提供极高的容错性

 

负载均衡是啥?

负载均衡由哪些模块构成

应用场景及特性?

 CLB的性能
 负载均衡单集群提供超过 1.2 亿 的最大连接数,轻松应对亿级 Web 业务访问量。  负载均衡单集群可处理峰值 40Gb/s 的流量,每秒处理包量(PPS)可达 600 万。

 

高可用设计

 四层负载均衡

  1. CLB最早实现的方案,也是作为一款负载均衡产品必备的功能。基本原理将一系列内部IP映射为一个虚拟IP(VIP),每次 TCP连接请求动态使用其中一个内部IP地址。
  2.  四层的负载均衡,就是通过三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行NAT处理,转发至后台服务器。
  3. 典型架构

• 后端服务器绑定到监听器

• 监听器设置转发端口和权重

• 监听器设置会话保持,健康检查

 七层负载均衡

  1.  在四层的基础上,再考虑应用层的特征(如HTTP头部、URL等),通过检查流经的HTTP报头, 根据报头内的信息来执行负载均衡任务。
  2. 比如同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。
  3. 典型架构

• 后端服务器绑定到转发组
• 转发组设置转发端口和权重
• 转发组设置会话保持、健康检查
• 支持多域名转发功能

高可用设计

健康检查 可能因为4层检查,关闭了一些服务,导致7层获取数据保存,显示会话被关闭。

ping linux 使用ICMP协议,windows如果并发会话数过多可能会拒绝,可能导致服务无法进行。

 

云解析:是最简单的负载均衡实现,通过DNS进行两个IP的自动轮询,付费版支持4个IP。

案例:

高可用设计

可拓展的云服务

高可用设计

AS弹性伸缩

  • 弹性伸缩(Auto Scaling,AS)为您提供高效管理计算资源的策略。可设定时间周期性地执行管理策略或创建实时监控策略,来管理 CVM 实例数量。在需求高峰时,弹性伸缩自动增加 CVM 实例数量,以保证性能不受影响;当需求较低时,则会减少 CVM 实例数量以降 低成本。弹性伸缩策略让集群保持恰到好处的实例数量。

  • 弹性伸缩只能对CVM使用。

应用场景:

  •  业务波动超过应用负载
  •  电商大促、限时秒杀活动
  •  在线游戏,晚上20:00-24:00的使用高峰  视频网站、播放热门直播

 业务突增时怎么快速增加资源保证应用正常运转?
 在业务低谷怎么快速回收资源,降低成本?
 部分应用节点故障时怎么保证应用可用且保持业务负载能力?

弹性伸缩 :自动按需扩展,自动替换故障节点

伸缩策略 与拓展方式的结合:

定时:可以在业务高峰低谷时,进行定时。 结合自动扩展

告警:设定阈值,进行预警,建议预先进行。常结合手动拓展。

高可用设计

无状态服务
 无状态服务(stateless service)对单次请求的处理,不依赖其他请求,

• 也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里

• 要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息
 有状态服务(stateful service)则相反,它会在自身保存一些数据,先后的请求是有关联的

 无状态服务器具有以下特点:

  •  并不保存客户请求的数据(状态)
  •  客户在请求时需要携带额外的状态数据
  •  无状态服务器更加健壮,重启服务器不会丢失状态信息,这使得维护和扩容更加简单

 

 

SCF 无服务器云函数  也是服务解耦的一部分。

无服务器云函数 SCF 简介
无服务器云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境。SCF 是实时文件处理和数据处理等场景下理想的计算平台。

 无服务器云函数

  •   云函数更适合于支持微服务架构业务场景,由事件触发的应用。以图片多规格压缩服务为例, 该服务在用户上传图片至COS时,自动将原始图片压缩成适配手机、平板、电脑等多种大小 的规格。如利用云函数实现该服务,用户只需创建函数,定义函数触发条件为“图片上传”, 在线编辑或使用IDE完成代码编写后上传,服务即构建完成。用户上传图片时,自动调用定义 的函数完成图片的多规格压缩,云函数平台根据上传并发量自动扩缩容函数实例,并最终按照 实际调用消耗计费。

  • 云函数的高可用:如果某个可用区因灾害或电力故障等导致瘫痪,无服务器云函数 SCF 会自 动地选择其他可用区的基础设施来运行,免除单可用区运行的故障风险。由事件触发的工作负 载可以使用云函数来实现,利用不同云服务满足不同的业务场景和业务需求,使得服务架构更 加健壮。

高可用设计

边缘函数:

将无服务器云函数调度到自有设备上按需运行提供消息能力,实现云 - 端的消息交互、断网时的缓存

  • 运行在本地,利用本地闲置资源计算

  • 在自有的设备上运行应用,管理、转 发和缓存消息,实现边缘设备与云的 结合

  • 靠近数据源,快速响应计算