nginx 与 tomcat 集群 一二事 (0) - 简单介绍

简介: 最近看了nginx以及tomcat的集群,通俗的做一下简单总结吧 nginx 是一个http服务器,是由俄罗斯人发明的,目前主流的服务器,作为负载均衡服务器,性能非常好,最高支持5万个并发连接数,在淘宝被广泛使用(据说被淘宝的工程师优化到单机200万的并发,非常的厉害) 单个tomcat最大支持...

最近看了nginx以及tomcat的集群,通俗的做一下简单总结吧

nginx 是一个http服务器,是由俄罗斯人发明的,目前主流的服务器,作为负载均衡服务器,性能非常好,最高支持5万个并发连接数,在淘宝被广泛使用(据说被淘宝的工程师优化到单机200万的并发,非常的厉害)

单个tomcat最大支持的用户并发量默认是150,在测试过程中250左右开始会有性能的问题

举个栗子,有3台tomcat,有N多请求同时经过nginx的时候,nginx作为一个路由,把请求分别分发给这3台tomcat,以此减少tomcat负重

作为集群,当其中一台tomcat宕机,出现故障,那么nginx将会自动排除这个服务

tomcat 与 nginx 之间通过ajp协议,这个协议提供很高的通信速度以及性能

另外,nginx也能够存放静态资源,项目中会存在很多图片,以及静态页面,如果把这些静态资源放入nginx中,那么性能会提高,速度是毫秒级别的,非常快

在动静分离的项目中,所有静态资源(HTML, CSS, JavaScript)都放入此服务器中,客户端请求到nginx,这样将会拦截大量的非动态请求,以此提高性能

工作原理:

在upstream bakend 中配置多个tomcat服务器,每个请求按照不同的时间顺序去请求不同的tomcat,如果在某一时段中有tomcat挂了,那么会被自动剔除

ip_hash:主要用于解决session问题,使用后,每个用户访问的后端服务器就是固定的,session不会改变,这个也就是通常所说的粘性session,访问速度快,只与一个节点上的服务器通信,缺点就是如果这个节点挂了,用户的session信息也就没了

*有粘性session那么就又非粘性session,非粘性session指的就是session在多个tomcat之间复制,节点挂了也能访问到,缺点就是在大并发的时候性能有影响

粘性和非粘性session都是基于msm的,也就是Memcached Session Manager; 话说tomcat和memcached 是无缝对接的

1   <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
2  memcachedNodes="n1:host1.yourdomain.com:11211,n2:host2.yourdomain.com:11211"
3     sticky="false"
4     sessionBackupAsync="false"
5     lockingMode="uriPattern:/path1|/path2"
6     requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
7  transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
8     />

sticky="false" 指定为非粘性session

 

简单示意图

简单架构配置可以参考如下

这是针对nginx的一些简单总结,接下来的文章将会深入对nginx进行详细探讨。

相关文章
|
9月前
|
存储 安全 应用服务中间件
将下载的Nginx证书转换为Tomcat证书格式
好,可以看到,将Nginx证书转换为Tomcat证书的过程就像在烘焙一块蛋糕。你需要准备材料(证书),配备工具(OpenSSL, keytool),按照一定的步骤慎重制作,最后你就拥有了一块可以在浏览器中呈现出漂亮的安全状态的HTTPS蛋糕。就这么简单,明了,没有任何复杂的理论知识,就像在家庭厨房里烘焙的快乐一样。
375 16
|
9月前
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
280 21
|
9月前
|
负载均衡 Java 应用服务中间件
Tomcat与Nginx的负载均衡与动静分离技巧
总的来说,Tomcat和Nginx各有各的优点,在负载均衡和动静分离这两方面它们都有很好的应用。灵活使用这两个工具能够让Web应用具有更好的扩展性和用户体验。
273 14
|
9月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
361 11
|
10月前
|
Kubernetes 安全 应用服务中间件
IngressNightmare:Ingress Nginx 再曝5个安全漏洞,可接管你的 K8s 集群
是否还记得 2022 年 K8s Ingress Nginx 披露了的 3 个高危安全漏洞(CVE-2021-25745, CVE-2021-25746, CVE-2021-25748),并在那一年宣布停止接收新功能 PR,专注修复并提升稳定性。
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
421 0
|
缓存 Java 应用服务中间件
nginx的正向代理和反向代理以及tomcat
Nginx的正向代理和反向代理功能在不同的场景中具有重要作用,正向代理主要用于客户端访问控制和匿名浏览,而反向代理则用于负载均衡和高可用性服务。Tomcat作为Java Web应用服务器,与Nginx结合使用,可以显著提升Web应用的性能和稳定性。通过合理配置Nginx和Tomcat,可以构建高效、稳定和可扩展的Web服务架构。
501 11
|
前端开发 Java 应用服务中间件
Tomcat和Nginx的资源路径映射
Tomcat和Nginx的资源路径映射
440 1
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
182 4
|
负载均衡 前端开发 应用服务中间件
FastDFS+Nginx+fastdfs-nginx-module集群搭建
FastDFS+Nginx+fastdfs-nginx-module集群搭建