`

【转】Web服务器负载均衡的方案-- DNS轮询

阅读更多

 Web服务器负载均衡的方案-- DNS轮询

大约在2005年初,大众点评网开办一年多,网站的访问量已经不能单单靠一台Web服务器、一台数据库服务器来支撑。准备增加几台前端的Web服务器分担压力,由于没有这方面的经验,经过一段时间的研究,找到了几种简单的负载均衡的方案。这篇文章就简单讲讲几种方案的优缺点。
希望抛砖引玉,大家一起探讨各种方案的优缺,找到适合不同级别网站的合理方案。

**几种解决方案的部分内容不太适用于纯静态、不需要身份验证的网站。

系列索引

·         Web服务器负载均衡的几种方案 : Index

·         Web服务器负载均衡的几种方案 : DNS轮询

 

本篇主要讲一下最简单的方案——DNS轮询。

DNS轮询

大多域名注册商都支持多条A记录的解析,其实这就是DNS轮询,DNS服务器将解析请求按照A记录的顺序,逐一分配到不同的IP上,这样就完成了简单的负载均衡。

优点

·         基本上无成本,因为往往域名注册商的这种解析都是免费的;

·         部署方便,除了网络拓扑的简单扩增,新增的Web服务器只要增加一个公网IP即可。

缺点

·         健康检查,如果某台服务器宕机,DNS服务器是无法知晓的,仍旧会将访问分配到此服务器。修改DNS记录全部生效起码要3-4小时,甚至更久;

·         分配不均,如果几台Web服务器之间的配置不同,能够承受的压力也就不同,但是DNS解析分配的访问却是均匀分配的。其实DNS也是有分配算法的,可以根据当前连接较少的分配、可以设置Rate权重分配等等,只是目前绝大多数的DNS服务器都不支持;

·         会话保持,如果是需要身份验证的网站,在不修改软件构架的情况下,这点是比较致命的,因为DNS解析无法将验证用户的访问持久分配到同一服务器。虽然有一定的本地DNS缓存,但是很难保证在用户访问期间,本地DNS不过期,而重新查询服务器并指向新的服务器,那么原服务器保存的用户信息是无法被带到新服务器的,而且可能要求被重新认证身份,来回切换时间长了各台服务器都保存有用户不同的信息,对服务器资源也是一种浪费。

部署方法

这个是万网的域名控制面板,将同一域名解析到2A记录上。

这个是免费的智能DNS解析服务,www.dnspod.com,不仅可以多条A记录,而且还能使用中国特色,根据电信、网通、教育网的用户访问,解析到不同的IP上。

 

实验

先将www.alcoholwang.cnA记录解析到61.172.244.7561.172.244.91上,然后使用nslookup工具查看。



 

 
这个百度和googl的DNS好像比较多,尤其是google,尤其适用于这些不需要记录用户身份的网站。
 

 

总结

之前看到文章中讨论,关于DNS服务器的压力问题,其实并不用太过担心,因为解析记录通常都是有一小时的缓存的,如果用户最近一级的DNS服务器上的解析记录还未过期的话,是不用查询主服务器的,通常DNS都有一小时的缓存,所以这样就等于把压力分摊到了各用户最近一级的DNS服务器上了。

 

  • 大小: 12.1 KB
  • 大小: 43.8 KB
  • 大小: 18.7 KB
  • 大小: 33.2 KB
  • 大小: 14.8 KB
  • 大小: 19.9 KB
分享到:
评论

相关推荐

    DNS轮询教程-负载均衡之DNS轮询,本例通过2台服务器实现DNS均衡负载.zip

    DNS轮询教程-负载均衡之DNS轮询,本例通过2台服务器实现DNS均衡负载.zip

    分布式负载均衡集群架构设计

    DNS轮询请求负载均衡服务器,负载均衡服务器通过调度选择负载均衡服务器来转发请求 3.Web服务器集群: 由至少两台Nginx Web服务器架设,来响应负载均衡服务器分发的请求 4.主从读写分离数据库集群: 一台主MySql...

    DNS轮询和网络负载均衡优缺点比较

    DNS轮询和网络负载均衡优缺点比较,分析得比透彻,值得推荐。

    负载均衡算法的源代码实现

    负载均衡-轮询算法-权重轮询算法

    详解 Nginx 负载均衡和反向代理配置和优化

    DNS 轮询是指一个域名可以绑定到多个的 ip 服务器上, 用户在访问的时候 dns轮询访问这几个 ip 的服务器, 达到负载均衡的目的. 可以使用 linux 命令 dig domain 来查看情况. 缺点: 1、 可靠性低. 如果某一个服务器宕...

    关于负载均衡

    • 反向代理层的负载均衡,是通过“DNS轮询”实现的 • 站点层的负载均衡,是通过“nginx”实现的 • 服务层的负载均衡,是通过“服务连接池”实现的 • 数据层的负载均衡,要考虑“数据的均衡”与“请求的均衡”两...

    基于Nginx负载均衡的动态改进算法_张宇星.pdf

    本文将分析Nginx服务器负载均衡的体系架构,研究默认的加权轮询算法,并提出一种改进后的动态负载均衡算法,实时收集负载信息,重新计算并分配权值。通过实验测试,对比不同算法下的负载均衡性能,改进后的算法能有效提高...

    eureka结合Ribbon进行负载均衡搭建

    在Spring Cloud中,当Ribbon与Eureka配合使用时,Ribbon可自动从Eureka Server获取服务提供者地址列表,并基于负载均衡算法,请求其中一个服务提供者实例。展示了Ribbon与Eureka配合使用时的架构。

    DNS轮询系统ogslb.zip

    ogslb 是一个 PowerDNS 后端应用,主要用于使用 round-robin 轮询DNS,实现服务器的负载均衡。通过 Python 脚本来检查服务器节点的运行状态。 标签:ogslb

    Web-服务器推送WebSocketandAjax轮询.docx

    1 服务器推送websocket:服务端主动向客户端发消息。 目标:客户端和服务器建立长连接,服务端与客户端可实时收发数据。 ... ... ...1.1 客户端:Websocket类,建立连接,发送数据,接收数据。...1.1.1.1 连接服务器:创建Web

    lua-resty-dns-client:Lua DNS客户端,负载平衡器和实用程序库

    toip对查询结果应用本地(加权)轮询方案 (加权)循环平衡器 一致性哈希平衡器 最少连接平衡器 版权和许可 版权:(c)2016-2021 Kong,Inc. 作者:Thijs Schreijer 许可证: 测验 测试是使用busted执行的,...

    S7-200PLC-Modbus RTU通信轮询-主站读写程序示例.rar

    S7-200PLC_Modbus RTU通信轮询_主站读写程序示例

    在 Linux 上用 DNS 实现简单的负载均衡的方法

    如果你的后端服务器是由多台服务器构成的,比如集群化或者镜像的 Web 或者文件服务器,通过负载均衡器提供了单一的入口点。业务繁忙的大型电商在高端负载均衡器上花费了大量的资金,用它来执行各种各样的任务:代理...

    Nginx详细配置(含负载均衡

    nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端...

    lvs为何不能完全替代DNS轮询

    1)接入层架构要考虑的问题域为:高可用、扩展性、反向代理+扩展均衡 2)nginx、keepalived、lvs、f5可以很好的解决高...3)水平扩展scale out是解决扩展性问题的根本方案,DNS轮询是不能完全被nginx/lvs/f5所替代的

    S7-200SMART-modbusRTU轮询程序(读轮询+写优先)附使用说明.zip

    S7-200SMART_modbusRTU轮询程序(读轮询+写优先)附使用说明

    基于PHP的数据库负载均衡插件(读)

    鉴于每次读取文件的执行效率很低,将负载信息写在了memcached中,需要用户装有memcached缓存服务器。配置文件都用空格分离每个服务端连接元素。初始化和改变配置文件(conmem.cnf)时必须运行initcon.php进行初始化...

    Linux 配置双网卡绑定实现负载均衡.docx

    1)、bond=0,(balance-rr) Round-robin policy: (平衡轮询策略):传输数据包顺序是依次传输,直到最后一个传输完毕,此模式提供负载平衡和容错能力。 2)、bond=1,(active-backup) Active-backup policy:(活动...

    几种简单的负载均衡算法及其Java代码实现

     负载均衡,英文名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求...

    springCloud路由网管负载均衡及拦截过滤的简单实现.

    基于springBoot2.0的springCloud路由网管负载均衡及拦截过滤的简单实现.

Global site tag (gtag.js) - Google Analytics