热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

搭建高可用负载均衡组件及缓存DNS

该项工作,如题所示,主要分为两部分:高可用负载均衡组件、缓存DNS。高可用负载均衡组件需求:优化业务系统架构中某些关键环节,针对TCP层数据流量进行负载均衡,并保证服务的高可用。技术选型:HAProxy+Keepalived,这对组合比较常见成熟。另外,由

该项工作,如题所示,主要分为两部分:高可用负载均衡组件、缓存DNS。 高可用负载均衡组件 需求:优化业务系统架构中某些关键环节,针对TCP层数据流量进行负载均衡,并保证服务的高可用。 技术选型:HAProxy + Keepalived,这对组合比较常见成熟。 另外,由

该项工作,如题所示,主要分为两部分:高可用负载均衡组件、缓存DNS。

高可用负载均衡组件

需求:优化业务系统架构中某些关键环节,针对TCP层数据流量进行负载均衡,并保证服务的高可用。

技术选型:HAProxy + Keepalived,这对组合比较常见成熟。

另外,由于HAProxy的负载均衡任务可能比较多,靠人工修改配置来增删改任务不方便可靠,所以实现了一个简单的HAProxy管理系统, 以后经实际使用验证和完善会开放源码。

high availability load balancer

缓存DNS

先以www.qq.com为例,解释一下域名解析过程:

resolve qq.com

1. 用户向Local DNS发起www.qq.com.查询请求;

2. Local DNS向根服务器发起com.查询请求;

3. 根服务器向Local DNS返回com.解析记录;

4. Local DNS向com.权威服务器发起qq.com.查询请求;

5. com.权威服务器向Local DNS返回qq.com.解析记录;

6. Local DNS向qq.com.权威服务器发起www.qq.com.查询请求;

7. qq.com.权威服务器向Local DNS返回www.qq.com.解析记录;

8. Local DNS向用户返回www.qq.com解析记录。

Local DNS一般由网络运营商(如电信、网通等)提供。

缓存DNS处于用户端(这是一个相对的概念)与local DNS之间,利用DNS服务器软件的缓存功能以及缓存DNS与用户端的近距离特点来加速域名解析。

也可以在缓存DNS上按需求进行域名劫持。运营商为了牟利,也会在local DNS上进行域名劫持,这对于各大互联网公司对外提供的服务来说是个很大的问题。


在完成该工作后,我编写了一份安装配置文档,方便其他同事参考。文档见: HAProxy+HAProxyConsole+Keepalived+BIND安装配置文档.pdf。

推荐阅读
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 在项目中使用 Redis 时,了解其不同架构模式(如单节点、主从复制、哨兵模式和集群)对于确保系统的高可用性和扩展性至关重要。本文将详细探讨这些模式的特点和应用场景。 ... [详细]
  • 深入解析Spring Cloud微服务架构与分布式系统实战
    本文详细介绍了Spring Cloud在微服务架构和分布式系统中的应用,结合实际案例和最新技术,帮助读者全面掌握微服务的实现与优化。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 使用LVS与ldirectord实现高可用负载均衡
    本文介绍了如何通过LVS(Linux Virtual Server)结合ldirectord工具来实现服务器的健康检查及负载均衡功能。环境设置包括一个LVS节点和两个真实服务器节点,通过配置ldirectord进行健康状态监测,确保系统的高可用性。 ... [详细]
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • 探讨GET与POST请求数据传输的最大容量
    在Web开发领域,GET和POST是最常见的两种数据传输方法。本文将深入探讨这两种请求方式在不同环境下的数据传输能力及其限制。 ... [详细]
  • 本文提供了一套实用的方法论,旨在帮助开发者构建能够应对高并发请求且易于扩展的Web服务。内容涵盖了服务器架构、数据库管理、缓存策略以及异步处理等多个方面。 ... [详细]
  • 一面问题:MySQLRedisKafka线程算法mysql知道哪些存储引擎,它们的区别mysql索引在什么情况下会失效mysql在项目中的优化场景&# ... [详细]
  • 本文详细探讨了虚拟化的基本概念,包括服务器虚拟化、网络虚拟化及其在云计算环境中的应用。特别强调了SDN技术在网络虚拟化和云计算中的关键作用,以及网络虚拟化技术如何提升资源利用效率和管理灵活性。 ... [详细]
  • 利用GitHub热门资源,成功斩获阿里、京东、腾讯三巨头Offer
    Spring框架作为Java生态系统中的重要组成部分,因其强大的功能和灵活的扩展性,被广泛应用于各种规模的企业级应用开发中。本文将通过一份在GitHub上获得极高评价的Spring全家桶文档,探讨如何掌握Spring框架及其相关技术,助力职业发展。 ... [详细]
  • 本文详细介绍了反向代理与负载均衡的概念及其在Nginx中的应用。反向代理主要用于将客户端请求转发到后端服务器,而负载均衡则通过分发请求来提高系统的响应速度和可用性。 ... [详细]
  • 腾讯视频 Node.js 服务国庆阅兵直播高并发实战
    本文分享了腾讯视频团队在国庆阅兵直播项目中,如何利用Node.js服务成功应对2.38亿次观看的高并发挑战。文章将从服务架构、可用性保障、缓存策略、日志与告警等方面详细解析。 ... [详细]
  • 本文深入探讨ZooKeeper的功能与应用场景,解释其作为开源分布式协调服务的核心作用,以及如何通过ZooKeeper实现数据的一致性和高可用性。 ... [详细]
  • 本文详细探讨了在Windows Server 2003环境下遇到MySQL连接失败(错误代码10061)的解决方案,包括通过卸载特定的Windows更新和调整系统注册表设置的方法。 ... [详细]
author-avatar
燕门雪_346
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有