`
touchmm
  • 浏览: 1047817 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

高可用负载均衡部署方案---适用中小应用

阅读更多
1:使用Nginx做两个负载均衡器。其中一个作为备份
2:负载均衡器绑定一个虚拟IP。用户通过虚拟IP访问应用,由负载均衡器进行代理。如果其中一个应用节点失效,Nginx会从负载均衡器中去掉,等到再次可用时,再加入其中。
3:如果负载均衡器1宕机,负载均衡器2接手工作,通过有一个后台作业,不停运行监测,如果载均衡器1不可到达。就给本机添加同一虚拟IP。这样用户访问就被负载均衡器2接手工作,用户使用不需换IP,同样如果负载均衡器2宕机,相同过程被负载均衡器1接手工作
4:如果有域名,可以使用两个VIP,DNS绑定这两个VIP,如果其中一个负载均衡失效,其vip添加到一台负载均衡所在的机子。等失效负载均衡恢复以后,再添加到本机。
5:该方案可以保证任何点,都有一个备份。保持高可用

测试主机:192.168.20.14 和 193.168.20.16
虚拟IP:192.168.20.23

主机环境:
linux 2.6.9-78.EL
apache-tomcat-6.0.26
jdk1.6.0_20
nginx-0.7.67


添加VIP
Java代码 收藏代码
  1. /sbin/ifconfigeth0: 1 192.168 . 20.23 broadcast 192.168 . 20.255 netmask 255.255 . 255.0 up


切换VIP shell脚本:
主负载均衡运行脚本:nginx_master_ha.sh

Java代码 收藏代码
  1. #!/bin/sh
  2. LANG=C
  3. date=$(date-d"today" + "%Y-%m-%d%H:%M:%S" )
  4. function_bind_vip(){
  5. /sbin/ifconfigeth0:1 192.168 . 20.23 broadcast 192.168 . 20.255 netmask 255.255 . 255.0 up
  6. }
  7. function_restart_nginx(){
  8. kill-USR1`cat/usr/local/nginx/logs/nginx.pid`
  9. }
  10. function_remove_vip(){
  11. /sbin/ifconfigeth0:1 192.168 . 20.23 broadcast 192.168 . 20.255 netmask 255.255 . 255.0 down
  12. }
  13. bind_vip="N" ;
  14. #主负载均衡。如果发现自己不可用,去掉绑定VIP,这时候备负载均衡会接管
  15. while true
  16. do
  17. httpcode_local_rip=`/usr/bin/curl-o/dev/null -s-w%{http_code}http: //192.168.20.15`
  18. if [ "x$httpcode_local_rip" == 'x200' ]
  19. then
  20. if [ "$bind_vip" == "N" ]
  21. then
  22. function_bind_vip
  23. function_restart_nginx
  24. bind_vip="Y"
  25. fi
  26. else
  27. if [ "$bind_vip" == "Y" ]
  28. then
  29. function_remove_vip
  30. bind_vip="N"
  31. fi
  32. fi
  33. sleep5
  34. done



Java代码 收藏代码
  1. 备负载均衡运行脚本:nginx_slave_ha.sh

Java代码 收藏代码
  1. #!/bin/sh
  2. LANG=C
  3. date=$(date-d"today" + "%Y-%m-%d%H:%M:%S" )
  4. function_bind_vip(){
  5. /sbin/ifconfigeth0:1 192.168 . 20.23 broadcast 192.168 . 20.255 netmask 255.255 . 255.0 up
  6. }
  7. function_restart_nginx(){
  8. kill-USR1`cat/usr/local/nginx/logs/nginx.pid`
  9. }
  10. function_remove_vip(){
  11. /sbin/ifconfigeth0:1 192.168 . 20.23 broadcast 192.168 . 20.255 netmask 255.255 . 255.0 down
  12. }
  13. bind_vip="N" ;
  14. #备负载均衡。如果发现主负载均衡不可用,由自己接管,当主负载均衡可用时,交由主负载均衡接管
  15. while true
  16. do
  17. httpcode_remote_rip=`/usr/bin/curl-o/dev/null -s-w%{http_code}http: //192.168.20.15`
  18. if [ "x$httpcode_remote_rip" != 'x200' ]
  19. then
  20. if [ "$bind_vip" == "N" ]
  21. then
  22. function_bind_vip
  23. function_restart_nginx
  24. bind_vip="Y"
  25. fi
  26. else
  27. if [ "$bind_vip" == "Y" ]
  28. then
  29. function_remove_vip
  30. bind_vip="N"
  31. fi
  32. fi
  33. sleep5
  34. done


ngnix.conf配置:

Java代码 收藏代码
  1. #usernobody;
  2. worker_processes2 ;
  3. #error_loglogs/error.log;
  4. #error_loglogs/error.lognotice;
  5. #error_loglogs/error.loginfo;
  6. #pidlogs/nginx.pid;
  7. worker_rlimit_nofile1024 ;
  8. events{
  9. useepoll;
  10. worker_connections1024 ;
  11. }
  12. http{
  13. includemime.types;
  14. default_typeapplication/octet-stream;
  15. #log_formatmain'$remote_addr-$remote_user[$time_local]"$request"'
  16. #'$status$body_bytes_sent"$http_referer"'
  17. #'"$http_user_agent""$http_x_forwarded_for"' ;
  18. #access_loglogs/access.logmain;
  19. sendfileon;
  20. tcp_nopushon;
  21. #keepalive_timeout0 ;
  22. keepalive_timeout65 ;
  23. #gzipon;
  24. upstreambackend{
  25. server192.168 . 20.14 : 8080 weight= 10 ;
  26. server192.168 . 20.16 : 8080 weight= 10 ;
  27. }
  28. server{
  29. listen80 ;
  30. server_name192.168 . 20.14 ;
  31. #charsetkoi8-r;
  32. #access_loglogs/host.access.logmain;
  33. location/{
  34. roothtml;
  35. indexindex.jspindex.htmlindex.htm;
  36. proxy_set_headerHost$host;
  37. proxy_set_headerX-Real-IP$remote_addr;
  38. proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
  39. proxy_passhttp://backend;
  40. }
  41. #error_page404 / 404 .html;
  42. #redirectservererrorpagestothestatic page/50x.html
  43. #
  44. error_page500 502 503 504 /50x.html;
  45. location=/50x.html{
  46. roothtml;
  47. }
  48. }
  49. }



  • 大小: 22.9 KB
分享到:
评论

相关推荐

    Windows Server 2019 负载均衡(NLB)安装部署-图文

    网络负载均衡(NLB)是Windows Server 2019提供的一种软负载均衡解决方案,它旨在提高服务器集群的可用性和稳定性。NLB通过监测服务器的运行状态,当发现某台服务器出现问题时,会自动将流量重定向到其他健康的...

    SQL数据库负载均衡及容灾方案PDF

    DBTWin是一种数据库集群解决方案,提供高可用性和负载均衡功能。它可能包括: - 集群安装与配置:如何设置多台服务器构成集群,确保无缝故障切换。 - 性能比较:与AlwaysOn、存储双活等其他解决方案进行对比,...

    web集群服务的负载均衡方案

    为了提高系统的可用性、可靠性和性能,采用**Web集群服务的负载均衡方案**成为了一种常见的解决方案。本文将深入探讨两种主流的负载均衡策略:DNS负载平衡(RR-DNS)和负载均衡器,并分析它们的优缺点。 #### DNS...

    MyCat高可用负载均衡集群实现(HAProxy+Keepalived+MyCat).pdf

    ### MyCat高可用负载均衡集群实现(HAProxy+Keepalived+MyCat) #### 一、概述 在当今高度依赖数据库应用的企业环境中,确保数据库系统的稳定性和高效性至关重要。为了达到这一目标,采用高可用(High ...

    负载均衡软件、硬件实现方案

    在F5负载均衡解决方案中,通过配置虚拟服务器(Virtual Server)实现对服务器的负载均衡。F5 BIG-IP设备作为中间件,可以持续监控服务器的健康状态,一旦检测到某台服务器出现故障,立即将其从负载均衡组中移除,确保...

    深信服信创应用交付AD-飞腾系列(GA110、GA120)

    它们能够实现多数据中心、多链路和服务器的负载均衡,通过实时监控和智能调度,确保资源的充分利用,提高系统的稳定性和可用性。例如,AD-1000-GA110提供5Gbps的吞吐量和800万并发连接数,而AD-1000-GA120则提升到10...

    Linux高可用负载均衡集群技术的研究与应用.pdf

    在Linux高可用负载均衡集群中,网络地址转换(LVS-NAT)模型是一种常见的部署方式。在这个模型中,服务器集群使用私有IP地址,通过NAT技术将内部地址转换为公网可访问的IP。用户实际上访问的是虚拟IP,由调度器根据...

    mysql高可用方案实战

    #### 三、LVS+Keepalived+MySQL单点写入读负载均衡主主同步高可用方案 - **3.1 方案简介** - 在第二方案基础上增加了读负载均衡功能,提高了系统的读取性能。 - **3.2 方案架构图** - 架构类似,但在Master-Master...

    F5 负载均衡实施方案

    ### F5负载均衡实施方案知识点详解 ...通过上述详细的实施过程和技术要点介绍,我们可以了解到F5负载均衡实施方案的核心内容及其在实际部署中的具体操作步骤。这对于企业网络架构师来说是非常宝贵的经验分享。

    打造高性能负载均衡方案.docx

    - DR模式适用于二层网络环境,通过修改MAC地址实现负载均衡,但在大规模部署中受限。 - TUN模式通过封装IP头,后端服务器需解封装,对操作系统支持有限。 - NAT模式下,LVS执行DNAT,回包需要经过LVS,可能需要在...

    Cisco负载均衡实施方案.rar

    【标题】:“Cisco负载均衡实施方案”这一主题主要涵盖了在企业网络环境中如何利用Cisco的负载均衡技术来优化网络流量分配,确保服务的高可用性和性能。Cisco的负载均衡解决方案旨在提高网络效率,降低单点故障的...

    (带目录版)MySQL LVS+Keepalived+MHA 高可用群集 应用部署操作手册

    #### LVS+Keepalived 高可用负载均衡系统 - **LVS(Linux Virtual Server)** - LVS 是一种基于Linux的高性能负载均衡解决方案。 - 它通过IP负载均衡技术和基于内容请求分发技术,将访问请求均匀地分配到多个...

    网络-OSPF负载均衡解决方案.pdf

    本解决方案适用于大规模网络环境中的 DNS 服务,提供高可用、高性能的 DNS 解决方案。该解决方案不仅可以提高 DNS 服务的可用性,还可以提高网络的整体性能。 技术优势 本解决方案具有以下技术优势: * 高可用性...

    F5服务器负载均衡解决方案报告书.doc

    这种解决方案适用于需要高可用性和高性能的应用场景,例如电子商务网站、银行和金融机构、大型企业的内部系统以及需要处理大量并发请求的云服务提供商。 总结来说,F5 Networks的服务器负载均衡解决方案通过BIG-IP...

    F5负载均衡维护手册+F5服务器负载均衡方案+F5链路负载均衡方案+F5 Cluster(N+M)

    在IT行业中,F5 Networks是知名的网络应用交付和负载均衡解决方案提供商。本篇文章将深入探讨由提供的四个核心主题:F5负载均衡维护手册、F5服务器负载均衡方案、F5链路负载均衡方案以及F5 Cluster (N+M)。 首先,*...

    lvs四层的负载均衡和七层负载均衡的区别

    ### LVS四层与七层负载均衡的区别 #### 基础概念 负载均衡技术是现代互联网架构中不可或缺的一部分,其主要目的是通过...- 实际部署中应根据具体需求选择合适的负载均衡方案,同时考虑到性能、可维护性和成本等因素。

    负载均衡发展趋势与部署培训课程.docx

    - **适用场景**:适用于中小型企业或系统,满足基本的负载均衡需求。 - **实现方式**:通过在服务器上安装相应的负载均衡软件来实现。 - **优势**:配置简单、操作方便、成本低廉。 - **局限性**:对于高流量...

    泛微ecology8集群搭建方案

    - **应用服务器**:运行Ecology应用的服务器,通常部署多个以实现负载均衡和高可用。 - **负载均衡器**:作为客户端与应用服务器之间的中间层,负责将请求合理分配到各个应用服务器上。 - **共享存储**:用于存放...

Global site tag (gtag.js) - Google Analytics