本文分享自天翼云开发者社区《云内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. PHP之JWT的token登录认证

    1.JWT简介 JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,用于作为JSON对象在各方之间安全地传输信息.该信息可以被验证和信任,因为 ...

  2. Redis之过期删除侧率

    Redis 中 key 的过期删除策略 内存碎片如何产生 碎片率的意义 如何清理内存碎片 内存淘汰触发的最大内存 有哪些内存淘汰策略 内存淘汰算法 LRU LFU 1.定时删除 2.惰性删除 3.定期 ...

  3. golang之命令行参数

    当我们希望通过命令行启动Golang程序,获取输入的各种形式参数时,该如何处理呢? [os.Args] os.Args是一个string的切片,用来存储所有的命令行参数,包括go run main.g ...

  4. php-fpm常见错误

    1. WARNING: Nothing matches the include pattern '/usr/local/php7/etc/php-fpm.d/*.conf' # cd /usr/loc ...

  5. pikachu平台XXE漏洞通关教程详解

    声明! 如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人无关,切勿触碰法律底线,否则后果自负!!!! 文章来自个人csdn博客,地址:ht ...

  6. SharpZipLib打.tar.gz压缩包

    .tar.gz是linux上常见的压缩格式,linux默认支持这种压缩格式,所以我们经常见到在linux系统上的.tar.gz包. 这里我们说一下怎么用SharpZipLib来打一个.tar.gz的压 ...

  7. vue3 + pnpm 打造一个 monorepo 项目

    Monorepo 和 Multirepo 单一仓库(Monorepo)架构,可以理解为:利用单一仓库来管理多个packages的一种策略或手段:与其相对的是多仓库(Multirepo)架构 Monor ...

  8. 终于解决了.net在线客服系统总是被360误报的问题(对软件进行数字签名)

    升讯威在线客服与营销系统是基于 .net core / WPF 开发的一款在线客服软件,宗旨是: 开放.开源.共享.努力打造 .net 社区的一款优秀开源产品. 背景 我在业余时间开发的这个客服系统, ...

  9. 微服务应用整合SEATA实现分布式事务

    概要 seata 是alibaba 出的一款分布式事务管理器,他有侵入性小,实现简单等特点.我们能够使用seata 实现分布式事务管理, 是微服务必备的组件.他可以实现在微服务之间的事务管理,也可以实 ...

  10. openEuler欧拉安装Jenkins并修改构建workspace路径

    ​一.系统优化 关闭防火墙 systemctl stop firewalld systemctl disable firewalld 关闭selinux sed -ri 's/SELINUX=enfo ...