分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

负载均衡基于Cookie OpenRest+tomcat+php+memcache+Jsp

发布时间:2023-09-06 01:07责任编辑:蔡小小关键词:tomcatCookie

一.OpenResty简介

OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

OpenResty通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。

OpenResty的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。


二.OpenResty的安装配置

1.配置 编译 安装

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/A6/42/wKioL1nLkcmgGYzwAACnrPWliqE645.png" style="float:none;" title="Screenshot from 2017-09-27 10-02-25.png" alt="wKioL1nLkcmgGYzwAACnrPWliqE645.png" />

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/07/91/wKiom1nLkgiwdVh1AAB8A8eI6iM873.png" style="float:none;" title="Screenshot from 2017-09-27 10-02-44.png" alt="wKiom1nLkgiwdVh1AAB8A8eI6iM873.png" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/A6/42/wKioL1nLkcmjDR4TAABkIU2xL24703.png" style="float:none;" title="Screenshot from 2017-09-27 10-04-17.png" alt="wKioL1nLkcmjDR4TAABkIU2xL24703.png" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/07/91/wKiom1nLkgiTHYgtAABNf4ldmGs322.png" style="float:none;" title="Screenshot from 2017-09-27 10-04-24.png" alt="wKiom1nLkgiTHYgtAABNf4ldmGs322.png" />




2.配置openresty

启动memcache服务

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/A6/42/wKioL1nLkjvwX50tAABORhBP-eo515.png" style="float:none;" title="Screenshot from 2017-09-27 10-41-14.png" alt="wKioL1nLkjvwX50tAABORhBP-eo515.png" />


检查语法,启动nginx

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/A6/42/wKioL1nLkjvjQ6KmAACGUQp2EZY028.png" style="float:none;" title="Screenshot from 2017-09-27 10-41-58.png" alt="wKioL1nLkjvjQ6KmAACGUQp2EZY028.png" />


启动fastcgi服务

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/A6/42/wKioL1nLkjyyJUnxAAA3cujmuuM877.png" style="float:none;" title="Screenshot from 2017-09-27 10-52-55.png" alt="wKioL1nLkjyyJUnxAAA3cujmuuM877.png" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/07/91/wKiom1nLknuzZFokAAAvwGEWvf0185.png" style="float:none;" title="Screenshot from 2017-09-27 10-53-04.png" alt="wKiom1nLknuzZFokAAAvwGEWvf0185.png" />


配置openresty的nginx

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/07/91/wKiom1nLknrR9qaJAABDHsSSFRw525.png" style="float:none;" title="Screenshot from 2017-09-27 10-47-56.png" alt="wKiom1nLknrR9qaJAABDHsSSFRw525.png" />

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/A6/42/wKioL1nLkjvQssGoAAASbl7AGog062.png" style="float:none;" title="Screenshot from 2017-09-27 10-51-39.png" alt="wKioL1nLkjvQssGoAAASbl7AGog062.png" />

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/07/91/wKiom1nLknqjy8WXAAA8dTTkyJY303.png" style="float:none;" title="Screenshot from 2017-09-27 10-51-46.png" alt="wKiom1nLknqjy8WXAAA8dTTkyJY303.png" />




添加内核最大链接数

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/07/91/wKiom1nLknvRlaZSAAAOpSORK3Q460.png" style="float:none;" title="Screenshot from 2017-09-27 10-54-07.png" alt="wKiom1nLknvRlaZSAAAOpSORK3Q460.png" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/A6/42/wKioL1nLkjyAgmyVAAAdD1Itic4694.png" style="float:none;" title="Screenshot from 2017-09-27 10-54-00.png" alt="wKioL1nLkjyAgmyVAAAdD1Itic4694.png" />


配置php默认发布文件

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/A6/42/wKioL1nLkjyzvtd4AAAMmrg_sY0311.png" style="float:none;" title="Screenshot from 2017-09-27 10-59-16.png" alt="wKioL1nLkjyzvtd4AAAMmrg_sY0311.png" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/07/91/wKiom1nLknuwh5gQAAAfEybRN5o451.png" style="float:none;" title="Screenshot from 2017-09-27 10-59-35.png" alt="wKiom1nLknuwh5gQAAAfEybRN5o451.png" />


显示正常

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/07/91/wKiom1nLmUHiKHqNAAEDKaOnvH8645.png" style="float:none;" title="Screenshot from 2017-09-27 11-13-43.png" alt="wKiom1nLmUHiKHqNAAEDKaOnvH8645.png" />


3.在nginx上添加memcache

vim nginx.conf

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/A6/43/wKioL1nLmQHhIKeHAAAb9278J7o982.png" style="float:none;" title="Screenshot from 2017-09-27 11-06-46.png" alt="wKioL1nLmQHhIKeHAAAb9278J7o982.png" />

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/07/91/wKiom1nLmUGTL0yWAAC1VcU4RTc991.png" style="float:none;" title="Screenshot from 2017-09-27 11-12-26.png" alt="wKiom1nLmUGTL0yWAAC1VcU4RTc991.png" />






650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/A6/43/wKioL1nLmQOgbR_QAADANDQgf90704.png" style="float:none;" title="Screenshot from 2017-09-27 11-34-46.png" alt="wKioL1nLmQOgbR_QAADANDQgf90704.png" />



4.测试example.php缓存文件memcache

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/A6/43/wKioL1nLmhXTbhRdAAAVLj-yS_E467.png" style="float:none;" title="Screenshot from 2017-09-27 13-39-54.png" alt="wKioL1nLmhXTbhRdAAAVLj-yS_E467.png" />

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/07/91/wKiom1nLmULTY8p5AABMFHOC_z8037.png" style="float:none;" title="Screenshot from 2017-09-27 11-54-42.png" alt="wKiom1nLmULTY8p5AABMFHOC_z8037.png" />


650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/07/91/wKiom1nLmlODdVsLAACIYvuDN9A062.png" style="float:none;" title="Screenshot from 2017-09-27 11-54-49.png" alt="wKiom1nLmlODdVsLAACIYvuDN9A062.png" />

每秒处理量为6787次


5.将memcache缓存读取取消测试

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/A6/43/wKioL1nLmhWTlwQoAABf9K-KOp0740.png" style="float:none;" title="Screenshot from 2017-09-27 11-57-01.png" alt="wKioL1nLmhWTlwQoAABf9K-KOp0740.png" />


访问index.php页面,此页面不能进行mencache缓存

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/A6/43/wKioL1nLmQLzENCQAABQi_v454U677.png" style="float:none;" title="Screenshot from 2017-09-27 11-14-38.png" alt="wKioL1nLmQLzENCQAABQi_v454U677.png" />

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/A6/43/wKioL1nLmQKSldr8AACF5sIOgKw416.png" style="float:none;" title="Screenshot from 2017-09-27 11-14-44.png" alt="wKioL1nLmQKSldr8AACF5sIOgKw416.png" />

每秒处理量为3360次



三.Tomcat的安装配置,jsp页面的访问


1.添加系统环境变量

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/A6/43/wKioL1nLnRHBZmjtAABftT2gJpM883.png" style="float:none;" title="Screenshot from 2017-09-27 14-05-22.png" alt="wKioL1nLnRHBZmjtAABftT2gJpM883.png" />

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/07/91/wKiom1nLnVCTTMB5AAA8DBXZeyk089.png" style="float:none;" title="Screenshot from 2017-09-27 14-04-18.png" alt="wKiom1nLnVCTTMB5AAA8DBXZeyk089.png" />


2.安装Java

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/07/91/wKiom1nLnVDja4sdAABepI-himM431.png" style="float:none;" title="Screenshot from 2017-09-27 14-07-35.png" alt="wKiom1nLnVDja4sdAABepI-himM431.png" />


3.安装tomcat

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/A6/43/wKioL1nLnRHg2HD1AAEv6S_tLe8241.png" style="float:none;" title="Screenshot from 2017-09-27 14-09-30.png" alt="wKioL1nLnRHg2HD1AAEv6S_tLe8241.png" />


4.写一段java的测试代码

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/A6/43/wKioL1nLnRKgC9a3AAAbgOCM22c575.png" style="float:none;" title="Screenshot from 2017-09-27 14-18-04.png" alt="wKioL1nLnRKgC9a3AAAbgOCM22c575.png" />

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/07/91/wKiom1nLnVCA5Z4uAAArM0IN0l4962.png" style="float:none;" title="Screenshot from 2017-09-27 14-13-13.png" alt="wKiom1nLnVCA5Z4uAAArM0IN0l4962.png" />


5.启动tomcat服务

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/A6/43/wKioL1nLnRGTj2tIAACe3gbNLo8555.png" style="float:none;" title="Screenshot from 2017-09-27 14-14-04.png" alt="wKioL1nLnRGTj2tIAACe3gbNLo8555.png" />

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/A6/43/wKioL1nLnRKAEcVbAACS2hPo4kY984.png" style="float:none;" title="Screenshot from 2017-09-27 14-14-47.png" alt="wKioL1nLnRKAEcVbAACS2hPo4kY984.png" />


6.客户机测试8080端口的tomcat

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/07/91/wKiom1nLnVGjd6XNAAHJJmONxh4493.png" style="float:none;" title="Screenshot from 2017-09-27 14-15-12.png" alt="wKiom1nLnVGjd6XNAAHJJmONxh4493.png" />



7.修改jsp测试访问页面

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/07/91/wKiom1nLnVHyg15wAAB9mz3saW0881.png" style="float:none;" title="Screenshot from 2017-09-27 14-22-09.png" alt="wKiom1nLnVHyg15wAAB9mz3saW0881.png" />

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/A6/43/wKioL1nLnRLDILJ9AAATcG1hcpU982.png" style="float:none;" title="Screenshot from 2017-09-27 14-20-48.png" alt="wKioL1nLnRLDILJ9AAATcG1hcpU982.png" />


650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/A6/43/wKioL1nLnROCD0OAAAA1Admn8cc811.png" style="float:none;" title="Screenshot from 2017-09-27 14-22-46.png" alt="wKioL1nLnROCD0OAAAA1Admn8cc811.png" />

四.设置Tomcat居于cookie的负载均衡

1.将server2与server3配置相同的tomcat服务

   将server2的jdk传给server3

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/07/91/wKiom1nLn4TzkdbmAACYbLqg4-w214.png" style="float:none;" title="Screenshot from 2017-09-27 14-46-59.png" alt="wKiom1nLn4TzkdbmAACYbLqg4-w214.png" />


2.在server3配置环境变量,两边服务开通

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/A6/43/wKioL1nLn0bgDMmXAAA6oy-Uej4970.png" style="float:none;" title="Screenshot from 2017-09-27 14-48-19.png" alt="wKioL1nLn0bgDMmXAAA6oy-Uej4970.png" />

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/07/92/wKiom1nLn4WSqSy8AAD29nA1OPw013.png" style="float:none;" title="Screenshot from 2017-09-27 14-50-18.png" alt="wKiom1nLn4WSqSy8AAD29nA1OPw013.png" />

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/A6/43/wKioL1nLn0aTSlbYAACaTPscxtc280.png" style="float:none;" title="Screenshot from 2017-09-27 14-50-57.png" alt="wKioL1nLn0aTSlbYAACaTPscxtc280.png" />


3.配置测试jsp访问页面

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/07/92/wKiom1nLn4WCY6z2AAEtxOWaLsg872.png" style="float:none;" title="Screenshot from 2017-09-27 14-54-02.png" alt="wKiom1nLn4WCY6z2AAEtxOWaLsg872.png" />


将页面传给server3

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/07/92/wKiom1nLn4WBqYNbAABLSCN8yC0385.png" style="float:none;" title="Screenshot from 2017-09-27 14-54-52.png" alt="wKiom1nLn4WBqYNbAABLSCN8yC0385.png" />



4.重新安装支持sticky的nginx版本,由于openresty不支持sticky

停止原先的nginx服务

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/A6/43/wKioL1nLn0fzo0ooAAAY5tCXWgM413.png" style="float:none;" title="Screenshot from 2017-09-27 14-56-31.png" alt="wKioL1nLn0fzo0ooAAAY5tCXWgM413.png" />


安装nginx1.1版本,安装到/opt目录下

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/A6/43/wKioL1nLn0fhR1_LAADFD7KVt7I563.png" style="float:none;" title="Screenshot from 2017-09-27 15-01-05.png" alt="wKioL1nLn0fhR1_LAADFD7KVt7I563.png" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/07/92/wKiom1nLn4bRwo50AABDKvJHSeI580.png" style="float:none;" title="Screenshot from 2017-09-27 15-01-27.png" alt="wKiom1nLn4bRwo50AABDKvJHSeI580.png" />


配置主配置文件,注意sticky


650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/07/92/wKiom1nLn4eRX2TXAAAn-1yoUC0968.png" style="float:none;" title="Screenshot from 2017-09-27 15-08-16.png" alt="wKiom1nLn4eRX2TXAAAn-1yoUC0968.png" />


650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/A6/43/wKioL1nLn0fjUcZiAAApuhuqKBY279.png" style="float:none;" title="Screenshot from 2017-09-27 15-04-46.png" alt="wKioL1nLn0fjUcZiAAApuhuqKBY279.png" />

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/07/92/wKiom1nLoj-zEqZZAABB9DWzz74007.png" style="float:none;" title="Screenshot from 2017-09-27 15-16-45.png" alt="wKiom1nLoj-zEqZZAABB9DWzz74007.png" />


5.客户机测试,输入172.25.29.1/test.jsp


650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/07/92/wKiom1nLoj6TQuvDAABzWJJxFM8749.png" style="float:none;" title="Screenshot from 2017-09-27 15-14-26.png" alt="wKiom1nLoj6TQuvDAABzWJJxFM8749.png" />

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/A6/43/wKioL1nLof-B7_2DAAB0ZXDbhsk165.png" style="float:none;" title="Screenshot from 2017-09-27 15-14-37.png" alt="wKioL1nLof-B7_2DAAB0ZXDbhsk165.png" />


取消sticky,server3  上的tomcat出现问题,server2 上的tomcat接管,但当前会话结束

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/07/92/wKiom1nLoj6Agls2AAApnXzIHV0775.png" style="float:none;" title="Screenshot from 2017-09-27 15-15-21.png" alt="wKiom1nLoj6Agls2AAApnXzIHV0775.png" />

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/A6/43/wKioL1nLof_DeMZEAABqDMjK1aw946.png" style="float:none;" title="Screenshot from 2017-09-27 15-16-14.png" alt="wKioL1nLof_DeMZEAABqDMjK1aw946.png" />

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/A6/43/wKioL1nLof_xctNRAAB2IeuQs3U698.png" style="float:none;" title="Screenshot from 2017-09-27 15-16-21.png" alt="wKioL1nLof_xctNRAAB2IeuQs3U698.png" />

五.处理Tomcat负载均衡sticky会话结束


1.在server2和server3上安装memcache-session包

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/07/92/wKiom1nLpRuBcSD7AABlJcp99j4748.png" style="float:none;" title="Screenshot from 2017-09-27 15-48-06.png" alt="wKiom1nLpRuBcSD7AABlJcp99j4748.png" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/A6/44/wKioL1nLpNzj9GVcAAAV9WfKlC4325.png" style="float:none;" title="Screenshot from 2017-09-27 15-48-14.png" alt="wKioL1nLpNzj9GVcAAAV9WfKlC4325.png" />


2.sevrer2上安装memcache,设置n1,并启动服务

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/A6/44/wKioL1nLpN3yg3GuAAAoSPR3fJ8107.png" style="float:none;" title="Screenshot from 2017-09-27 15-56-28.png" alt="wKioL1nLpN3yg3GuAAAoSPR3fJ8107.png" />

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/A6/44/wKioL1nLpN2QyzETAACUcFV-B-8773.png" style="float:none;" title="Screenshot from 2017-09-27 15-49-19.png" alt="wKioL1nLpN2QyzETAACUcFV-B-8773.png" />

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/07/92/wKiom1nLpRzj60IkAABuMu3njeI459.png" style="float:none;" title="Screenshot from 2017-09-27 15-52-22.png" alt="wKiom1nLpRzj60IkAABuMu3njeI459.png" />

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/A6/44/wKioL1nLpN6ROud_AADhTJm9Lx4111.png" style="float:none;" title="Screenshot from 2017-09-27 15-59-15.png" alt="wKioL1nLpN6ROud_AADhTJm9Lx4111.png" />


3.sevrer3上安装memcache,设置n2,并启动服务

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/07/92/wKiom1nLpRyjpxa9AAApaJyHcTE169.png" style="float:none;" title="Screenshot from 2017-09-27 15-56-40.png" alt="wKiom1nLpRyjpxa9AAApaJyHcTE169.png" />

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/07/92/wKiom1nLpRzzFpsUAABhAl14lQs248.png" style="float:none;" title="Screenshot from 2017-09-27 15-53-34.png" alt="wKiom1nLpRzzFpsUAABhAl14lQs248.png" />

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/A6/44/wKioL1nLpN7gMXxSAADKJcSsD9g341.png" style="float:none;" title="Screenshot from 2017-09-27 15-59-20.png" alt="wKioL1nLpN7gMXxSAADKJcSsD9g341.png" />


4.客户机测试

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/07/92/wKiom1nLpR2zFlY7AAB7iBHqg08359.png" style="float:none;" title="Screenshot from 2017-09-27 16-11-06.png" alt="wKiom1nLpR2zFlY7AAB7iBHqg08359.png" />


当会话正在进行时,server3 tomcat停掉

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/07/92/wKiom1nLpR2gvNviAABZuqRTTTE528.png" style="float:none;" title="Screenshot from 2017-09-27 16-11-14.png" alt="wKiom1nLpR2gvNviAABZuqRTTTE528.png" />


server2 tomcat接管,但读取的memcache还是在原先的n1上,会话没有中断

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/A6/44/wKioL1nLpN6DZSeNAAB-uJWTNOU170.png" style="float:none;" title="Screenshot from 2017-09-27 16-11-24.png" alt="wKioL1nLpN6DZSeNAAB-uJWTNOU170.png" />




负载均衡基于Cookie OpenRest+tomcat+php+memcache+Jsp

原文地址:http://anfishr.blog.51cto.com/8534000/1969266

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved