Tomcat概述
Tomcat 是一个开源、免费的 Java Servlet 容器和 Web 服务器,由 Apache 软件基金会开发和维护。它是 Java 企业版规范中 Servlet 和 JavaServer Pages 技术的官方参考实现。
Apache Tomcat 是 Java Web 开发领域事实上的标准 Servlet 容器和轻量级 Web 服务器。它专注于高效、可靠地执行 Servlet 和 JSP,是部署基于 Java 的动态 Web 应用程序(尤其是使用流行框架如 Spring MVC 构建的应用)的首选平台之一。其开源、免费、轻量、成熟和社区支持强大的特点使其在全球范围内得到广泛应用。

Tomcat的核心组件及工作原理

安装tomcat
配置环境:三台主机nginx,tomcatA,tomcatB,并在在A,B里面装java
运行测试
安装tomcat
测试
关闭防火墙并在B中重复
生成启动文件
使用命令:vim /lib/systemd/system/tomcat.service
![]()


在主机B中重复操作
四 结合反向代理实现tomcat部署
常见部署方式介绍


利用 nginx 反向代理实现


进入配置文件:vim vhosts.conf

利用 nginx 反向代理功能,实现图中的代理功能,将用户请求全部转发至指定的同一个 tomcat 主机
利用 nginx 指令 proxy_pass 可以向后端服务器转发请求报文 , 并且在转发时会保留客户端的请求报文中的host首部。
实现tomcat中的负载均衡
动态服务器的问题,往往就是并发能力太弱,往往需要多台动态服务器一起提供服务。如何把并发的压力分摊,这就需要调度,采用一定的调度策略,将请求分发给不同的服务器,这就是Load Balance 负载均衡。
当单机 Tomcat ,演化出多机多级部署的时候,一个问题便凸显出来,这就是 Session 。而这个问题的由来,都是由于HTTP 协议在设计之初没有想到未来的发展。
会话绑定
测试
session共享服务器
Memcached简介
Memcached 是一个开源的、高性能的分布式内存对象缓存系统。它通过在内存(RAM)中以键值对的形式临时存储数据(如数据库查询结果、API 响应等),为动态 Web 应用提供极快的访问速度。其主要目的是减轻后端数据库的负载压力,通过让应用优先从内存中读取高频访问的数据,从而显著提升应用的整体响应速度和吞吐量。存储在 Memcached 中的数据是易失性的,服务器重启或内存空间不足时数据会被清除。
msm 介绍

msm(memcached session manager)提供将Tomcat的session保持到memcached可以实现高可用。 项目早期托管在google code,目前在Github
github网站链接: https://github.com/magro/memcached-session-manager
支持Tomcat的 6.x、7.x、8.x、9.x
Tomcat的Session管理类,Tomcat版本不同
memcached-session-manager-2.3.2.jar
memcached-session-manager-tc9-2.3.2.jar
Session数据的序列化、反序列化类
官方推荐kyro
在webapp中WEB-INF/lib/下
驱动类 memcached(spymemcached.jar)


需要重启之后


注意:主机里面failoverNodes分别为n1,n2
测试:




1542

被折叠的 条评论
为什么被折叠?



