企业级高可用Web架构之HAPorxy+Keepalived.docx_第1页
企业级高可用Web架构之HAPorxy+Keepalived.docx_第2页
企业级高可用Web架构之HAPorxy+Keepalived.docx_第3页
企业级高可用Web架构之HAPorxy+Keepalived.docx_第4页
企业级高可用Web架构之HAPorxy+Keepalived.docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

企业级高可用Web架构之HAPorxy+Keepalived细数下来,算是东莞的项目的话,HAProxy+Keepalived我差不多也有三套在线上跑了,另外,这套Web方案也是我的一拍网的备份方案之一,目前也在测试,如果速度和稳定性够强劲的话,我也考虑将LVS+Keepalived换成HAProxy+Keepalived,关于HAProxy的语法和安装步骤请参考我的专题系列文章/art/201101/241997.htm,另外,此篇文章跟天斯兄的不一样,我主要用其作为Web级别的负载均衡(七层应用)。一、线上跑的HAProxy配置文件,代码如下:1. global2. loglocal03. maxconn655354. chroot/usr/local/haproxy5. uid996. gid997. daemon8. nbproc89. pidfile/usr/local/haproxy/haproxy.pid10. debug11. 12. defaults13. loglocal314. modehttp15. optionhttplog16. optionhttpclose17. optiondontlognull18. optionforwardfor19. optionredispatch20. retries221. maxconn200022. balancesource23. statsuri/web-status24. contimeout500025. clitimeout5000026. srvtimeout5000027. 28. 29. bind*:8030. modehttp31. optionhttplog32. logglobal33. optionhttpchkHEAD/index.jspHTTP/1.034. serverweb147:80weight5checkinter2000rise2fall335. serverweb246:80weight3checkinter2000rise2fall3二、HAProxy的启动、关闭和重启脚本,代码如下:1. #!/bin/sh2. #chkconfig35on3. #description:HAProxyisaTCP/HTTPreverseproxywhichisparticularlysuitedforhighavailabilityenvironments.4. 5. #Sourcefunctionlibrary.6. if-f/etc/init.d/functions;then7. ./etc/init.d/functions8. elif-f/etc/rc.d/init.d/functions;then9. ./etc/rc.d/init.d/functions10. else11. exit012. fi13. 14. #Sourcenetworkingconfiguration.15. ./etc/sysconfig/network16. 17. #Checkthatnetworkingisup.18. $NETWORKING=no&exit019. 20. -f/usr/local/haproxy/conf/haproxy.cfg|exit121. 22. RETVAL=023. 24. start()25. /usr/local/haproxy/sbin/haproxy-c-q-f/usr/local/haproxy/conf/haproxy.cfg26. if$?-ne0;then27. echoErrorsfoundinconfigurationfile.28. return129. fi30. 31. echo-nStartingHAproxy:32. daemon/usr/local/haproxy/sbin/haproxy-D-f/usr/local/haproxy/conf/haproxy.cfg-p/var/run/haproxy.pid33. RETVAL=$?34. echo35. $RETVAL-eq0&touch/var/lock/subsys/haproxy36. return$RETVAL37. 38. 39. stop()40. echo-nShuttingdownHAproxy:41. killprochaproxy-USR142. RETVAL=$?43. echo44. $RETVAL-eq0&rm-f/var/lock/subsys/haproxy45. $RETVAL-eq0&rm-f/var/run/haproxy.pid46. return$RETVAL47. 48. 49. restart()50. /usr/local/haproxy/sbin/haproxy-c-q-f/usr/local/haproxy/conf/haproxy.cfg51. if$?-ne0;then52. echoErrorsfoundinconfigurationfile,checkitwithhaproxycheck.53. return154. fi55. stop56. start57. 58. 59. check()60. /usr/local/haproxy/sbin/haproxy-c-q-V-f/usr/local/haproxy/conf/haproxy.cfg61. 62. 63. rhstatus()64. statushaproxy65. 66. 67. condrestart()68. -e/var/lock/subsys/haproxy&restart|:69. 70. 71. #Seehowwewerecalled.72. case$1in73. start)74. start75. ;76. stop)77. stop78. ;79. restart)80. restart81. ;82. reload)83. restart84. ;85. condrestart)86. condrestart87. ;88. status)89. rhstatus90. ;91. check)92. check93. ;94. *)95. echo$Usage:haproxystart|stop|restart|reload|condrestart|status|check96. RETVAL=197. esac98. 99. exit$RETVAL三、HAProxy的监控脚本我没有做,这个实施起来也简单,我们可以用curl -s -head /index.jsp | awk /HTTP/ print $2的方法,判断是否返回了正常的200代码。 四、大家需要注意的几个地方是:1)HAProyx采用的是balance source机制,它跟Nginx的ip_hash机制原理类似,是让客户机访问时始终访问后端的某一台真实的web服务器,这样让session就固定下来了;2)option httpchk HEAD /index.jsp HTTP/1.0 是网页监控,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论