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

简介:

一.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.配置 编译 安装

wKioL1nLkcmgGYzwAACnrPWliqE645.png

wKiom1nLkgiwdVh1AAB8A8eI6iM873.png

wKioL1nLkcmjDR4TAABkIU2xL24703.png

wKiom1nLkgiTHYgtAABNf4ldmGs322.png




2.配置openresty

启动memcache服务

wKioL1nLkjvwX50tAABORhBP-eo515.png


检查语法,启动nginx

wKioL1nLkjvjQ6KmAACGUQp2EZY028.png


启动fastcgi服务

wKioL1nLkjyyJUnxAAA3cujmuuM877.png

wKiom1nLknuzZFokAAAvwGEWvf0185.png


配置openresty的nginx

wKiom1nLknrR9qaJAABDHsSSFRw525.png

wKioL1nLkjvQssGoAAASbl7AGog062.png

wKiom1nLknqjy8WXAAA8dTTkyJY303.png




添加内核最大链接数

wKiom1nLknvRlaZSAAAOpSORK3Q460.png

wKioL1nLkjyAgmyVAAAdD1Itic4694.png


配置php默认发布文件

wKioL1nLkjyzvtd4AAAMmrg_sY0311.png

wKiom1nLknuwh5gQAAAfEybRN5o451.png


显示正常

wKiom1nLmUHiKHqNAAEDKaOnvH8645.png


3.在nginx上添加memcache

vim nginx.conf

wKioL1nLmQHhIKeHAAAb9278J7o982.png

wKiom1nLmUGTL0yWAAC1VcU4RTc991.png






wKioL1nLmQOgbR_QAADANDQgf90704.png



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

wKioL1nLmhXTbhRdAAAVLj-yS_E467.png

wKiom1nLmULTY8p5AABMFHOC_z8037.png


wKiom1nLmlODdVsLAACIYvuDN9A062.png

每秒处理量为6787次


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

wKioL1nLmhWTlwQoAABf9K-KOp0740.png


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

wKioL1nLmQLzENCQAABQi_v454U677.png

wKioL1nLmQKSldr8AACF5sIOgKw416.png

每秒处理量为3360次



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


1.添加系统环境变量

wKioL1nLnRHBZmjtAABftT2gJpM883.png

wKiom1nLnVCTTMB5AAA8DBXZeyk089.png


2.安装Java

wKiom1nLnVDja4sdAABepI-himM431.png


3.安装tomcat

wKioL1nLnRHg2HD1AAEv6S_tLe8241.png


4.写一段java的测试代码

wKioL1nLnRKgC9a3AAAbgOCM22c575.png

wKiom1nLnVCA5Z4uAAArM0IN0l4962.png


5.启动tomcat服务

wKioL1nLnRGTj2tIAACe3gbNLo8555.png

wKioL1nLnRKAEcVbAACS2hPo4kY984.png


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

wKiom1nLnVGjd6XNAAHJJmONxh4493.png



7.修改jsp测试访问页面

wKiom1nLnVHyg15wAAB9mz3saW0881.png

wKioL1nLnRLDILJ9AAATcG1hcpU982.png


wKioL1nLnROCD0OAAAA1Admn8cc811.png

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

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

   将server2的jdk传给server3

wKiom1nLn4TzkdbmAACYbLqg4-w214.png


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

wKioL1nLn0bgDMmXAAA6oy-Uej4970.png

wKiom1nLn4WSqSy8AAD29nA1OPw013.png

wKioL1nLn0aTSlbYAACaTPscxtc280.png


3.配置测试jsp访问页面

wKiom1nLn4WCY6z2AAEtxOWaLsg872.png


将页面传给server3

wKiom1nLn4WBqYNbAABLSCN8yC0385.png



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

停止原先的nginx服务

wKioL1nLn0fzo0ooAAAY5tCXWgM413.png


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

wKioL1nLn0fhR1_LAADFD7KVt7I563.png

wKiom1nLn4bRwo50AABDKvJHSeI580.png


配置主配置文件,注意sticky


wKiom1nLn4eRX2TXAAAn-1yoUC0968.png


wKioL1nLn0fjUcZiAAApuhuqKBY279.png

wKiom1nLoj-zEqZZAABB9DWzz74007.png


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


wKiom1nLoj6TQuvDAABzWJJxFM8749.png

wKioL1nLof-B7_2DAAB0ZXDbhsk165.png


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

wKiom1nLoj6Agls2AAApnXzIHV0775.png

wKioL1nLof_DeMZEAABqDMjK1aw946.png

wKioL1nLof_xctNRAAB2IeuQs3U698.png

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


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

wKiom1nLpRuBcSD7AABlJcp99j4748.png

wKioL1nLpNzj9GVcAAAV9WfKlC4325.png


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

wKioL1nLpN3yg3GuAAAoSPR3fJ8107.png

wKioL1nLpN2QyzETAACUcFV-B-8773.png

wKiom1nLpRzj60IkAABuMu3njeI459.png

wKioL1nLpN6ROud_AADhTJm9Lx4111.png


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

wKiom1nLpRyjpxa9AAApaJyHcTE169.png

wKiom1nLpRzzFpsUAABhAl14lQs248.png

wKioL1nLpN7gMXxSAADKJcSsD9g341.png


4.客户机测试

wKiom1nLpR2zFlY7AAB7iBHqg08359.png


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

wKiom1nLpR2gvNviAABZuqRTTTE528.png


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

wKioL1nLpN6DZSeNAAB-uJWTNOU170.png



      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1969266,如需转载请自行联系原作者



相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
5月前
|
Java 应用服务中间件 Apache
Tomcat 发布jsp报错
Tomcat 发布jsp报错
|
1月前
|
Java 应用服务中间件
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
110 1
|
6月前
|
XML Java 应用服务中间件
Jsp之二 tomcat安装配置使用
Jsp之二 tomcat安装配置使用
34 0
|
7月前
|
Oracle Java 关系型数据库
Jsp/Servlet中tomcat基础配置
Jsp/Servlet中tomcat基础配置
58 0
|
8月前
|
Java 应用服务中间件 Maven
Tomcat与Servlet、JSP、JDK的版本适配问题(解决访问出现404和500的问题)
一、问题描述 最近在学习Maven创建Java Web项目的过程中,出现了配置Servlet后访问出现404和500的问题,如下
|
11月前
|
负载均衡 Java 应用服务中间件
tomcat集群下的session共享和负载均衡(memcache实现)
tomcat集群下的session共享和负载均衡(memcache实现)
|
SQL Java 关系型数据库
IDEA+Java+JSP+Mysql+Tomcat实现Web商品信息管理系统
IDEA+Java+JSP+Mysql+Tomcat实现Web商品信息管理系统
368 0
IDEA+Java+JSP+Mysql+Tomcat实现Web商品信息管理系统
|
XML 安全 Java
JSP程序设计之(1)Tomcat安装及环境变量配置
JSP程序设计之(1)Tomcat安装及环境变量配置
119 0
JSP程序设计之(1)Tomcat安装及环境变量配置
|
开发框架 Java 应用服务中间件
搭建一个tomcat的JSP服务器环境
搭建一个tomcat的JSP服务器环境
65 0