通过GTM实现跨地域高可用

简介: GTM服务及其关键概念。

全局流量管理通过DNS实现应用服务的就近访问接入、多地址负载均摊,同时根据健康检查进行DNS Failover,实现应用服务的同城多活故障隔离和异地容灾。
—— 阿里云官网有关GTM服务的介绍

“双活”的概念曾经红极一时,伴随双活的是一整套的IT基础架构,包括虚拟化软件、双活存储、……还有为“两个”双活数据中心提供负载均衡能力的GSLB全局负载均衡系统。
后来,阿里提出了“三地五中心”,与之配套的就变成了互联网中间件、云原生数据库系列服务、……当然还有为“五个”多活数据中心分配流量的GTM全局流量管理服务。

GTM 和GSLB服务一样都是基于智能DNS,也就是通过对DNS请求的动态调度来实现跨站点的负载均和故障切换。
具体的工作过程如下:

  • 可以把业务系统的域名解析以CNAME的方式托管到GTM的智能DNS。
  • 当用户发起对站点的访问请求时,需要先通过DNS的解析过程来获取站点的IP地址,而这时具体解析到哪一个IP就由GTM根据所有数据中心的“健康检查”结果来确定。
  • 当所有数据中心均“健康”时可以用“轮询”的方式对所有的站点进行负载均衡,从而实现“多活”。
  • 当某个站点被判定为“非健康”状态时,将不会再将该站点的IP地址返回给客户端,从而实现故障切换。

CNAME 是一种DNS的记录类型,另一种常用的DNS记录类型是A记录,A记录下的域名对应的是一个具体的IP地址,而CNAME记录下的域名对应的是另外一个域名,从而将域名的解析结果“托管”了出去。

GTM有几个关键概念:

  • 地址池、一组提供相同服务的地址列表,可以有多个地址池,根据访问策略的不同,可以从不同的地址池中返回地址给客户端。
  • 访问策略、可以有多个访问策略,但有且仅有一个全局访问策略,可以根据地理位置、访问延时来选择不同的地址池。在访问策略中地址池要被加入到主地址池或者备地址池中。
  • 主地址池集合、默认情况下所有请求都从主地址池集合的地址池中分配地址。
  • 备地址池集合、为可选配置,当主地址池中的所有地址均无法通过健康检查时,从备地址池分配地址。
  • 健康检查、对所有需要进行检查的地址池中的地址进行健康检查,健康检查可以使用ping、tcp、http/https等方法。健康检查的配置以地址池为单位进行设置。

这些概念理解起来还是有些抽象,让我们结合一个应用场景来理解,请看架构图:

1.jpg

  • 有3个地址池,分别是位于北京的地址池甲、位于上海的地址池乙、位于成都的地址池丙。
  • 创建一条全局访问策略,访问策略被设置为最小延迟,地址池甲和地址池乙被分配到主地址池,地址池丙被分配到备地址池。
  • 为地址池甲和地址池乙开启了健康检查,因此当北京或上海的某个可用区发生故障时,对GTM的请求将不会再返回这些无法访问的ECS的IP地址。
  • 地址池丙不开启健康检查,因此不会对成都地域的ECS进行健康检查。
  • 默认情况下所有的请求都会从地址池甲和乙中选择地址返回给客户端,只有当地址池甲和乙中所有的ECS均无法通过健康检查时,才会从地址池丙中挑选IP返回给客户端。

上述访问策略实现了一个主备架构,缺点是成都地域的资源只能用于灾备,要想实现“多活”可以再新建一条只针对四川省用户的访问策略,这回将地址池丙加入主地址池,地址池甲和乙加入备地址池。额外的,为了能够探测成都地域服务器的可用性情况要开启地址池丙的健康检查设置。

2.jpg

这就是GTM全局流量管理服务。

目录
相关文章
|
30天前
|
存储 弹性计算 安全
从0到1看懂:阿里云服务器ECS是什么?详解、价格、优势及使用问题解答FAQ
阿里云ECS是基于飞天架构的弹性计算服务,提供高稳定、高性能、安全可靠的云服务器,支持多种计费模式与丰富规格族,适配企业应用、互联网、AI等上百种场景,助力用户实现算力随需所用、成本最优。
|
Oracle 网络协议 关系型数据库
ORA-12541TNS无监听程序解决方案——orcal基础
ORA-12541TNS无监听程序解决方案——orcal基础
6040 0
ORA-12541TNS无监听程序解决方案——orcal基础
|
存储 监控 Cloud Native
云原生的应用场景
云原生的应用场景
651 0
|
前端开发 容器
CSS 居中技术完全指南:从基础到高级应用
本文详细介绍了 CSS 中常用的居中方法,涵盖水平居中、垂直居中及同时实现两者的方法。
1205 12
|
Java Unix BI
PMD【 Java 代码检查工具】入门使用教程(超详细)
PMD【 Java 代码检查工具】入门使用教程(超详细)
PMD【 Java 代码检查工具】入门使用教程(超详细)
|
安全 SDN 云计算
|
算法 Ubuntu Linux
红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...
红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...
|
开发框架
混入mixin的原理
混入mixin的原理
|
前端开发 开发者
stylus、sass、less区别, Sass 、LESS是什么
【4月更文挑战第1天】stylus、sass、less区别, Sass 、LESS是什么
292 0