19|流量调度:DNS、全站加速及机房负载均衡
徐长龙
该思维导图由 AI 生成,仅供参考
你好,我是徐长龙。
上节课我们学习了如何从架构设计上应对流量压力,像直播这类的服务不容易预估用户流量,当用户流量增大到一个机房无法承受的时候,就需要动态调度一部分用户到多个机房中。
同时,流量大了网络不稳定的可能性也随之增加,只有让用户能访问就近的机房,才能让他们的体验更好。
综合上述考量,这节课我们就重点聊聊流量调度和数据分发的关键技术,帮你弄明白怎么做好多个机房的流量切换。
直播服务主要分为两种流量,一个是静态文件访问,一个是直播流,这些都可以通过 CDN 分发降低我们的服务端压力。
对于直播这类读多写多的服务来说,动态流量调度和数据缓存分发是解决大量用户在线互动的基础,但是它们都和 DNS 在功能上有重合,需要一起配合实现,所以在讲解中也会穿插 CDN 的介绍。
DNS 域名解析及缓存
服务流量切换并没有想象中那么简单,因为我们会碰到一个很大的问题,那就是 DNS 缓存。DNS 是我们发起请求的第一步,如果 DNS 缓慢或错误解析的话,会严重影响读多写多系统的交互效果。
那 DNS 为什么会有刷新缓慢的情况呢?这需要我们先了解 DNS 的解析过程,你可以对照下图听我分析:
DNS 查找过程
客户端或浏览器发起请求时,第一个要请求的服务就是 DNS,域名解析过程可以分成下面三个步骤:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了流量调度和数据分发的关键技术,以及如何解决DNS缓存刷新缓慢的问题。首先讨论了DNS域名解析及缓存的过程,指出了DNS缓存刷新缓慢可能导致的问题,以及如何设置TTL时间和使用CDN、GTM、HttpDNS等服务来弥补DNS刷新缓慢的问题。接着详细介绍了CDN全网站加速的原理和作用,包括静态文件加速和区域化的本地CDN网络加速服务,以及如何利用CDN内网DNS服务来加快DNS缓存刷新。此外,还提到了国外使用anycast技术来减少入口故障问题,以及在CDN后面增加GTM来增强可用性的建议。另外,文章还介绍了HttpDNS服务的作用和优势,以及业务自实现流量调度的方法和重要性。总的来说,本文通过深入浅出的方式,为读者介绍了流量调度和数据分发的关键技术,以及如何解决DNS缓存刷新缓慢的问题,对于需要了解相关技术的读者具有一定的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《高并发系统实战课》,新⼈⾸单¥59
《高并发系统实战课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- txjlrk大佬的文章适合每天看一点 温故知新
作者回复: 感谢支持!
2023-03-08归属地:北京1 - txjlrk刚看阿里云dns ttl最低是10分钟嘞了
作者回复: 这样虽然刷新快了,但是缺点是我们需要不定期dns解析,第一次请求会变慢
2023-03-08归属地:北京1 - 若水清菡视频、WebSocket 这一类长链接如何动态切换机房? APP端最好具备长链接实时监测,在发起连接时监测与server段的网络连接有效性,和server端具备心跳监测,这样nginx入口层的切换不会对业务造成太大的影响,APP会重新发起连接;如果切的机房与旧机房原有的server不通,需要先切dns记录到机房,待dns全网生效后,旧机房的server 对长链接下发断开通知,通知APP重新进行链接。
作者回复: 你好,大方向没有问题,这里补充下dns生效周期太长了,这里可以用调度接口取代dns,这样会更迅速
2023-01-07归属地:北京1
收起评论