基于DNS的全局负载均衡(GSLB)详解(下篇)[通俗易懂]

基于DNS的全局负载均衡(GSLB)详解(下篇)[通俗易懂]基于DNS的全局负载均衡(GSLB)详解(下篇)前言基于DNS的流量调度和宕机切换流量负载方式DNS流量调度准确性健康检查和宕机切换基于DNS的混合流量负载(调度)前言上篇我们介绍了DNS流量负载和容灾切换功能的意义如果你想了解DNS访问的整个流程,可以先查看DNS的基本原理(可查看文章DNS原理及解析过程详解)。对于更好地讲解全局流量负载有所帮助。基于DNS的流量调度和宕机切换流量负载…

大家好,又见面了,我是你们的朋友全栈君。

前言

上篇我们介绍了DNS流量负载和容灾切换功能的意义,下面我们将继续介绍基于DNS的全局负载均衡的工作原理和相关知识。
如果你想了解DNS访问的整个流程,可以先查看DNS的基本原理(可查看文章DNS原理及解析过程详解)。对于更好地讲解全局流量负载有所帮助。

基于DNS的流量调度和宕机切换

流量负载方式

现在我们对基于DNS的流量负载方式进行简单介绍,域名国家工程研究中心(ZDNS)在这方面拥有许多研究成果(了解更多)。

  1. 基于地理位置的流量负载,当拥有多数据中心时,比如南方的用户可能访问到上海的数据中心,北方的用户会访问到北京的数据中心,这是一个基本的基于地理限制的流量负载或者智能解析举例。
  2. 基于运营商流量负载策略,不同的运营商会到业务系统不同线路接入的服务器上,从而避免用户跨网访问的问题。
  3. 基于权重的链路负载,一个域名可能对应两个IP地址,这两个IP按照一定的比例解析给用户进行访问。比如一个IP地址对应初始数据中心,一个IP地址对应备数据中心的流量。希望初始数据中心的流量达到70%,备数据中心的流量达到30%
  4. 还有一些自定义的负载方式。主要是一些基于流量探测的负载,比如对于流量系统进行实时探测,哪个区域的系统性能最好,会优先使用哪个地区的资源。这是通过实时的健康检查和探测做动态的流量负载的调度。

DNS流量调度准确性

关于刚才讲到的DNS调度方式,大家有没有想过我们怎么样才能保证调度有足够的准确性。我们将从三个角度进行讨论,分别为:权威侧、用户侧、公共能递归侧。

权威侧
DNS权威服务器如何识别这个用户是来自于哪个运营商或者来自于哪个区域的呢。

  • 其实是基于权威解析服务器上的一个精准的IP地址库,利用地址库进行判断用户区域及用户所属运营商,再进行流量调度。
  • 这个IP地址库划分的粒度精细化,能够精确把某个省或某市的用户调度到相应的数据中心。
  • 同时支持对IPV6地址库的识别,实现双栈化。

用户侧
电脑用户端上要配置正确的运营商的递归DNS尽量不使用公共递归,从而减少调度时间。

公共能递归侧
支持使用Edns+SubNet的协议,这样可以缓解客户端配置公共递归导致的解析不准确的问题。

健康检查和宕机切换

当某数据中心出现宕机情况,为了保证用户的正常使用,要进行宕机切换操作。但是对于DNS来讲是无法感知宕机的,这时就需要额外的健康检查探测手段。在额外的服务器上部署健康检查的节点,也是基于云的架构,从不同的探测节点探测业务的可用性。通常情况下探测方式可以是基于HTTP、HTTPS、PING、TCP等,从而实现实时的发现和切换的功能。进行宕机切换时,切换可用节点的选择基于地理位置、权重、运营商、性能等。

基于DNS的混合流量负载(调度)

在这里插入图片描述

如上图所示,刚才讲的DNS上的流量负载和实时探测和自动切换的功能,这个功能已经不再仅限于最初的DNS功能,域名和IP地址的关系数据库,它承载了更多的流量负载的系统。用户访问站点的时候,站点后面的资源比较丰富,有本地基于网络流量的负载、服务器、CDN的资源等。基于DNS的全局流量调度系统变成一个流量枢纽和桥梁。一旦DNS瘫掉,后端的系统无论再怎么强壮都不再可用了。所以DNS对于业务系统的重要性是与日俱增的,已经变成一个核心的业务系统。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137880.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月1日 上午10:46
下一篇 2022年6月1日 上午11:00


相关推荐

  • Python之psutil库的使用

    Python之psutil库的使用psutil(pythonsystemandprocessutilities)是一个跨平台的第三方库,能够轻松实现获取系统运行的进程和系统利用率(包扩CPU、内存、磁盘、网络等)信息。它主要用于系统监控、分析、限制系统资源和进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill…

    2022年6月5日
    78
  • quotacheck – 扫描文件系统,创建,检测并修补配额文件

    quotacheck – 扫描文件系统,创建,检测并修补配额文件总览 SYNOPSIS quotacheck agucfinvdFR filesystem 描述 DESCRIPTION quotacheck 察看每一个文件系统 建立当前磁盘使用情况表 并将此表与配额文件中相应内容比较 如果使用了选项 c 这一步将省略 如果发现任何不一致 同时更新配额文件和当前不正确的系统配额拷贝 只有当选择使用配额的文件系统时 才更新

    2026年1月15日
    2
  • httprunner(2)下载安装[通俗易懂]

    httprunner(2)下载安装[通俗易懂]环境要求HttpRunner是一个基于Python开发的测试框架,可以运行在macOS、Linux、Windows系统平台上。这里使用macOS系统进行演示对于python版本要求:py

    2022年8月6日
    6
  • python 字典最外层使用_python列表底层实现

    python 字典最外层使用_python列表底层实现前言问题1:python中的字典到底是有序还是无序问题2:python中字典的效率如何python字典底层原理在Python3.5以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插

    2022年8月7日
    4
  • 神器webssh学习笔记

    神器webssh学习笔记简介项目主页 https github com huashengdun webssh 一个简单的 Web 应用程序 用作 ssh 客户端以连接到您的 ssh 服务器 它是用 Python 编写的 基于 tornado paramiko 和 xterm js 特征 支持 SSH 密码认证 包括空密码 支持 SSH 公钥认证 包括 DSARSAECDSAE 密钥 支持加密密钥 支持两因素身份验证 基于时间的一次性密码 支持全屏终端 终端窗口可调整大小 自动检测 ssh 服

    2026年3月19日
    2
  • 大模型私有化部署:手把手教你部署并使用清华智谱GLM大模型(附教程)

    大模型私有化部署:手把手教你部署并使用清华智谱GLM大模型(附教程)

    2026年3月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号