开发者学堂课程【Tomcat 服务器入门详解:代理和 Session 机制】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/654/detail/10847
代理和 Session 机制
内容简介:
一、Tomcat 常见部署方式
二、Nginx 和 Tomcat 实践
三、应用管理
四、httpd 和 Tomcat 实践
五、负载均衡
六、session 机制
一、Tomcat 常见部署方式
1、standalone 模式
Tomcat 单独运行,能支持 Jsp,可以直接接受用户的请求,但不推荐。
2、反向代理
单机运行,提供了一个 Nginx 最为反向代理,可以做到静态由 Nginx 提供响应,动态 jsp 代理给 Tomcat 。
LNMT:Linux+Nginx+MySQL+Tomcat
LNMT:Linux+Apache(Httpd)+MySQL+Tomcat
对于 Tomcat 的部署,应该在前面应该加 ending 或者 HTTPD,即在前面把静态部署完成。
Tomcat 动态做一个代理即可,可以用最简单的代理方式,不过对于 HTTPD,由于它结合了原来 Java web server,所以到目前为止还是支持 AIP 协议。
3、反向代理多机
前置一台 Nginx,给多台 Tomcat 实例做反向代理和负载均衡调度,Tomcat 上部署的纯动态页面更适合。
LNMT:Linux+Nginx+MySQL+Tomcat
如果一台 Tomcat 不够用,那么是可以部署多个 Tomcat 的。在部署多个 Tomcat 的时候,多个 Tomcat 内容是一样的,如果内容不一样,前面也可以调度。
假设现在内容一样,就要考虑调度的问题。调度有很多种方案,比如做某个东西然后到某款机器上,或者按照某种负载的量进行调度,这些都是可以做到的,这样就可以做到多机,分摊压力,好处在于其中一台失效了,另外两台还能够保证服务运行。
所以一旦成为多机,不但能做负载均衡,天生就是高可用的。如果这样,可以演化更加复杂,变成一个多极的结构。
4、多级代理
LNNMT:Linux+Nginx+Nginx+MySQL+Tomcat
最前面有一个 Nginx 做应用层代理,或者 hia practice 都可以就做代理,然后向后可能还有再做二级代理,也有可能或者还要做缓存的,还有 Nginx、Tomcat,这就变成多级的结构。在这个结构当中并没有画出数据库,因为大多数情况下都要访问数据库。
5、总结
这几种部署方式中 standalone 比较简单,像
LNMT:Linux+Apache(Httpd)+MySQL+Tomcat,虽然这只是一种方式,但是在使用过程中,步骤可能比这个还要再复杂一些,业务会越来越多,结构会越来越复杂,所以我们要留下文档部署。
如果不留下文档,就会大大增加工作量,导致分配了多少 IP 都不知道,写的程序也没用,把 IP 扫过来也没用,无法解决问题。尤其是面向服务的,不知道哪个服务配的是哪个 IP;即使知道了,也不知道其逻辑上是如何连在一起的。所以还是要留下一些文档,不然部署的结构,包括真正服务之间相互调动会越来越复杂。所以我们要做好管理的服务,不然到最后还是自己去承受工作上的压力。