本文分享自天翼云开发者社区《云内GSLB技术及应用场景》,作者:c****n

云业务容灾建设节奏一般是同城双活—异地双活—两地三中心(同城双活+异地多活),因为要解决的问题的复杂度和难度也是在逐步上升的,不可能一蹴而就。gslb可以实现两地三中心容灾,这时应用在多数据中心的情况下,业务需要分布式部署,无论哪个数据中心都可以独立承担业务,数据中心内通过服务器负载均衡(lb)进行数据中心内的业务负载,gslb是通过dns给lb做负载均衡,配合健康检查实现业务的故障切换,数据中心切换,一些算法如静态就近性可以就近访问加速等。

一、基本概念

1.业务域名
用户访问应用服务的dns域名。

2.服务成员
域名最后返回的ip的地址,这个ip地址一般就是slb负载均衡设备的ip。

3.地址池
一组服务成员的集合,可以选择服务成员的调度算法,健康检查,ttl等设置。用于服务成员的管理。

4.健康检查

1)服务成员健康检查

检查应用服务是否正常,常用的健康检查有icmp, tcp,udp,http等。

已icmp为例,探测设备主动去ping服务成员ip,通过是否应答来判断服务成员是否有效。

2)链路健康检查

检查数据中心内的某条链路是否健康,用icmp方法,不能进行跨数据中心的探测。

5.算法

调度的规则,二级调度,一级是域名选池,二级是池选服务成员。

常用的算法有轮询,加权轮询,静态就近性,全局可用性等。

二、应用场景

基本都是多数据中心,分布式部署,每个数据中心都有所有数据中心的配置信息,保证dns请求到哪个gslb都有同样的应答。
常见的应该场景有业务容灾,多活,就近访问加速等。
以两地三中心容灾方案为例详细说明下。

业务域名:www.aaa.com

主数据中心dc1,服务成员m1(1.1.1.1 电信),服务成员m2(1.1.1.2 联通)。

同城灾备数据中心dc2,服务成员m3(2.2.2.1 电信),服务成员m4(2.2.2.2 联通)。

异地灾备数据中心dc3,服务成员m5(3.3.3.1 电信),服务成员m6(3.3..2 联通)。

每个数据中心一台gslb设备。

正常情况下dns请求到达任何一台gslb时,应答规则

1)电信的用户返回电信的服务成员,联通的用户返回联通的服务成员,其他的用户返回电信的服务成员。

2)主数据中心的成员可用时优先用主数据中心,主数据中心服务成员故障后用同城灾备数据中心,同城灾备数据中心也故障再用异地灾备数据中心。

1.业务图

2.配置逻辑图

3.核心算法

1)静态就近性算法

根据用户源ip所在物理位置进行策略匹配。

2)静态地址库

获取用户的物理位置需要全球ip地址库,需要把ip地址库加载到内存中,然后把源ip在内存中匹配下,就可以获取到相应物理位置信息,这个地址库一般每行是代表一个地理信息,例如

前面两列是起始ip和终止ip,后面是国家,省,市,组织,运营商

3)动态用户区域

除了静态地址库设备自身携带外,也需要支持用户自定义某个网段属于哪个国家,省,市,运营商等。

这部分提供用户自定义网段属于某个物理位置配置,然后在配置静态就近性策略时去选择这个用户区域。

4.探测与同步

1)探测:

做健康检查的设备,分为服务成员探测和链路探测。

链路探测只能在本数据中心进行探测。

服务成员探测根据和同步规则可以进行跨数据中心探测。

2)同步:

正常情况下,本中心的gslb设备只对自己数据中心的服务成员做健康检查,然后把本数据中心的健康检查结果同步给其他数据中心的gslb设备,最后的结果就是每个数据中心都有所有数据中心的健康检查结果,探测设备同时也是同步设备。

3)同步规则和探测的关系:

红色线:同步

黄色线:探测

①仅本地

不管gslb设备之间的同步连接情况如何,本数据中心的gslb设备只探测本数据中心的服务成员。

②优先本地

gslb设备之间的连接正常时,本数据中心的gslb设备只探测本地。

gslb设备之间的连接异常时,本数据中心的gslb设备会探测连接异常的异地的数据中心的服务成员。

③同时多数据中心

gslb设备会向所有数据中心的服务成员发送健康检查探测,这样每个服务成员会有所有数据中心的健康检查结果,最后这个健康检查的结果为配置的有效性个数决定。
例如:设置有效性为2,m1有gslb123设备三个探测结果,综合2个或者2个以上up,则m1为up。

云内GSLB技术及应用场景的更多相关文章

  1. Docker技术这些应用场景【转】

    场景一:节省项目环境部署时间 1.单项目打包 每次部署项目到测试.生产等环境,都要部署一大堆依赖的软件.工具,而且部署期间出现问题几率很大,不经意就花费了很长时间. Docker主要理念就是环境打包部 ...

  2. 为 “超级大脑”构建支撑能力,腾讯云聚焦AI技术落地

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 5月24日,以"无界数据.无限智能"为主题的2018腾讯"云+未来"峰会AI大数据分论坛在广州拉开帷 ...

  3. 在线公开课 | 5G时代的视频云服务关键技术与实践

    5G时代来临在即,视频技术将会如何发展呢?基于视频云服务的技术开发又有怎样的变化呢?为此,京东云视频云产品研发部高级总监魏伟为大家做出了详细解读. 魏伟拥有10多年视频行业研发经验,先后从事于AVS标 ...

  4. 一文带你读懂!华为云在ACMUG技术沙龙上都透露了些啥?

    摘要:近日,华为云数据库业务总裁苏光牛在ACMUG中国MySQL用户组主办的 "华为云专场" 技术沙龙中分享了华为云数据库重磅新品GaussDB的核心能力与竞争优势.那么, Gau ...

  5. 云原生GIS技术

    云原生架构概述 - DockOne.io  http://dockone.io/article/2991 云原生GIS技术全解读 - SuperMap技术控 - CSDN博客  https://blo ...

  6. 腾讯 Techo 开发者大会首发来袭!云原生中间件技术实践等你来!

    腾讯 Techo 开发者大会是由腾讯云发起的面向全球开发者和技术爱好者的年度盛会,2019 年 11 月 6 日 - 7 日将在北京嘉里大酒店首次召开. 作为一个专注于前沿技术研讨的非商业大会,Tec ...

  7. 云搜索服务在APP搜索场景的应用

    搜索无处不在,尤其是在移动互联的今天.无论是社交,电商,还是视频等APP中,搜索都已经在其中扮演了重要的角色.作为信息的入口,搜索能帮用户从海量信息中找到想要的信息.在APP搜索的典型场景如下: ●  ...

  8. 热度3年猛增20倍,Serverless&云开发的技术架构全解析

    『 作为一个不断发展的新兴技术, Serverless 热度的制高点已然到来.』 或许,Google Trends 所显示的 3 年猛增 20 倍的" Serverless " 搜 ...

  9. 阿里云杨敬宇:边缘计算行业通识与阿里云ENS的技术演进之路

    近日,阿里云杨敬宇在CSDN阿里云核心技术竞争力在线峰会上进行了<5G基础设施-阿里云边缘计算的技术演进之路>主题演讲,针对5G时代下,行业和技术的趋势.边缘计算产业通识以及阿里云边缘计算 ...

  10. 剑指Kubernetes 揭秘腾讯云的PaaS技术选型策略

    1.前言 Kubernetes 很火,一大批互联网公司早已领先一步,搭建起专有的 PaaS平台,传统企业们看到的 Kubernetes的趋势,亦不甘落后,在试水的道上一路狂奔-- 虽然,Kuberne ...

随机推荐

  1. Sickos1.1 详细靶机思路 实操笔记

    Sickos1.1 详细靶机思路 实操笔记 免责声明 本博客提供的所有信息仅供学习和研究目的,旨在提高读者的网络安全意识和技术能力.请在合法合规的前提下使用本文中提供的任何技术.方法或工具.如果您选择 ...

  2. Graylog之进阶操作

    有关系统的索引,权限,pipline 参考文章: https://mp.weixin.qq.com/s/LROHPjZEJPMsS5M_a3pPFw https://blog.csdn.net/wei ...

  3. 频繁full gc 如何排查

    频繁full gc 通常表明应用程序在内存管理方面存在问题,可能导致性能下降,下面是排查步骤和一个详细的示例 排查步骤 收集GC日志 首先,需要开启详细的GC日志,在JVM参数中添加 -XX:+Pri ...

  4. ECharts 标题组件

    1.标题组件的基本使用 图标组件使用title节点进行配置. 标题分为主标题和副标题, 主标题的文本内容使用 'text' 属性进行设置 副标题使用 'subtext' 属性进行设置 var opti ...

  5. IE低版本cors跨域请求

    标签:js 坑位 最近接到一个活动需求,但是服务端接口全是跨域的,由于js同源策略,ajax请求是不允许跨域请求的,比较流行的解决方法是jsonp或者cors,但当服务端是走cors的时候,发现IE1 ...

  6. [转载] 6 个技巧,提升 C++11 的 vector 性能

    转载:https://www.sohu.com/a/120595688_465979 Vector 就像是 C++ STL 容器的瑞士军刀.Bjarne Stoutsoup 有一句话 – " ...

  7. Consul 学习总结

    什么是Consul? Consul是一种服务网络解决方案,使团队能够管理服务之间以及跨本地和多云环境和运行时的安全网络连接.Consul提供服务发现.服务网格(service mesh).流量管理和网 ...

  8. 在 .net core 与 .net framework 应用之间共享库

    如果你对 .net core 做了任何重要的提交,你就需要为 .net framework 共享同样的库,因为,.net core 是一个新兴的系统生态系统,仍然缺失很多部分. 在混合系统中,你有两个 ...

  9. 2024年1月Java项目开发指南19:Vue动态页面渲染

    以文章为例子,我们获取了文章列表. 现在想实现,点击文章列表里面的某一篇文章,跳转页面,这个页面显示文章的具体内容. 那么应该怎么实现. 首先,你要创建一个文章详情页的组件(article.vue) ...

  10. com.sun.xml.internal.messaging.saaj.util 不存在

    maven 编译时报错:程序包com.sun.xml.internal.messaging.saaj.util不存在需要添加 <compilerArguments> <verbose ...