热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

lvs+haproxy的一种方式

去年看见淘宝章博士的PPT里面讲过淘宝的CDN架构,觉得简单使用。我也一直觉得haproxy比较简洁的,另外画了一个图,可以给应用做好负载均衡。不过我这个图里两个LVS只是一主一倍,也可以作为相互备份
去年看见淘宝章博士的PPT里面讲过淘宝的CDN架构,觉得简单使用。




我也一直觉得haproxy比较简洁的,另外画了一个图,可以给应用做好负载均衡。不过我这个图里两个LVS只是一主一倍,也可以作为相互备份,这样更能提高利用率。




这个基本是照着淘宝的这个架构搞的。但是其实里面有些细节地方可以仔细说一下。这个实现过程是
最最外面做LVS的机器上绑定一堆公网的IP。假如是10.10.114.2 .....10.10.114.254 (这个只是作为解说)。
做LVS负载均衡的机器上另外一个网卡绑定一个内部的IP,假如分别为192.168.1.2和192.168.1.3.
    virtual_server 10.10.114.2 80 {
delay_loop 3
lb_algo wlc
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 192.168.1.4 80 {
weight 100
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 10
}
}
real_server 192.168.1.5 80 {
weight 100
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 10
}



}

virtual_server 10.10.114.3 80 {
delay_loop 3
lb_algo wlc
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 192.168.1.4 80 {
weight 100
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 10
}
}
real_server 192.168.1.5 80 {
weight 100
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 10
}



}



那么配置 haproxy的几个机器上每个机器有一个192.168.1.X的IP外,还需要在每个机器的回环地址上绑定所有VIP(10.10.114.x)的。这样可以直接使用DR模式来对haproxy做第一级的负载均衡,而且对于安装haproxy的服务器上,因为在回环地址上绑定了这么多的ip(设置好arp抑制后其实只有这些机器自己知道自己有这些VIP),所以在配置haproxy时也非常方便了。
当外部请求进来时,LVS把请求转发给Haproxy。由于haproxy上监听的是绑在lo上的VIP,所以可以根据对方的目标IP来选择后端的机器。
    frontend  server1
mode tcp
bind 10.10.114.2:80
default_backend real_server1
backend real_server1
mode tcp
balance roundrobin
server A 192.168.x.2:80 weight 1
server B 192.168.x.3:80 weight 1
frontend server2
mode http
bind 10.10.114.3:80
default_backend real_server2
backend real_server2
mode http
balance roundrobin
server A 192.168.x.4:80 weight 1
server B 192.168.x.5:80 weight 1
frontend server3
mode http
bind 10.10.114.4:80
default_backend real_server3
backend real_server3
mode http
balance roundrobin
server A 192.168.x.6:80 weight 1
server B 192.168.x.7:80 weight 1

这样的话所有的haproxy都可以同时工作,lvs对他们也可以做好健康检测。对于后端应用,我们也可以充分利用haproxy来做好健康检测。

推荐阅读
  • 负载均衡 LVS vs Nginx 对比
    前言今天总结一下负载均衡中LVS与Nginx的区别,之前看过好几篇博文一开始就说LVS是单向的,Nginx是双向的,我个人认为这是不准确的,LVS三种模式中,虽然DR模式以及TU ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Nginxgaodaima.comnginx属于七层架构,支持的是http协议,本身对tcp协议没有支持。所以不能代理mysql等实现负载均衡。但是lvs这个东西不熟悉,主要是公司 ... [详细]
  • PartI:取经处: http:www.ramkitech.com201210tomcat-clustering ... [详细]
  • 架构设计:负载均衡层设计方案之负载场景和解决方式篇
    来自:JAVA入门中https:blog.csdn.netyinwenjiearticledetails46605451在上一篇《标准Web系统的架构分层》文章中&# ... [详细]
  • springcloud:微服务涉及哪些技术、有哪些核心组件(二)
    0.引言上一期我们介绍了什么是微服务,微服务的基础概念,那么本期我们来介绍一下微服务涉及的技术点以及所需要的组件1.微服务涉及哪些技术1.1、基础 ... [详细]
  • Nginx的TCP/UDP负载均衡是应用Stream代理模块(ngx_stream_proxy_module)和Stream上游模块(ngx_stream_upstream_mod ... [详细]
  • 大二修完java的基础入门,发现自己对这门语言有兴趣,想深入自学,但是一方面不知道怎么深入,另一方面想了解我毕业后能找哪方面的工作。我不想做单纯的程序员,不想每天都是敲代码。所以请过来人帮忙解疑。 ... [详细]
  • CXF学习(1)——CXF框架
    本文主要介绍关于xml,soap,cxf,webservice,soa的知识点,对【CXF学习(1)——CXF框架】和【cxf源码】有兴趣的朋友可以看下由【爱玩游戏的小隐】投稿的技术文章,希望该技术和 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 目录Atlas介绍Atlas部署Atlas基本管理Atlas结合MHA故障恢复读写分离建议Atlas介绍Atlas是由Qihoo360Web平台部基础架构团队开发维护的一个基于My ... [详细]
  • Kubernetes(k8s)基础简介
    Kubernetes(k8s)基础简介目录一、Kubernetes概述(一)、Kubernetes是什么(二& ... [详细]
  • Istio是一个用来连接、管理和保护微服务的开放平台。Istio提供一种简单的方式来为已部署的服务建 ... [详细]
  • laravel 使用腾讯云 COS5全教程
    laravel使用腾讯云COS5全教程一下载首先第一步肯定是用composer把包安装下来,这里是laravel5.8版本的,所以我用的是cos5 ... [详细]
author-avatar
很呆很傻很天真2010_545
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有