前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tomcat集群目录1. Tomcat集群能带来什么2. Tomcat集群实现原理3. 一,二期架构对比4 Tomcat单机部署多应用-CentOS6.8Nginx负载均衡配置,常用策略,场景及特点

Tomcat集群目录1. Tomcat集群能带来什么2. Tomcat集群实现原理3. 一,二期架构对比4 Tomcat单机部署多应用-CentOS6.8Nginx负载均衡配置,常用策略,场景及特点

作者头像
JavaEdge
发布2018-05-16 15:44:13
7580
发布2018-05-16 15:44:13
举报
文章被收录于专栏:JavaEdgeJavaEdge

目录

1. Tomcat集群能带来什么

1.1 提高服务的性能,并发能力以及高可用性

  • 一般一台机器部署一个Tomcat,因为部署多个有资源共享瓶颈(比如内存网卡磁盘I/O等),所以一般进行隔离
  • 一台TomcatHTTP线程池是有限的,根据机器性能,那么两台很可能可承载的HTTP线程就是2倍
  • Ngix下挂了多个Tomcat,当Tomcat1挂掉时,可以把这个节点从ngix负载均衡Tomcat集群的配置中摘掉,ngix还会达到可用的Tomcat服务器上,并不影响我们提供的服务

1.2 提供项目架构的横向扩展能力

假设有一台服务器,通过不断升级他的内存CPU加固态硬盘etc,这种属于纵向提高机器的配置来达到提高Tmcat所提供服务的性能,随着硬件不断提高,成本是指数级上升的 比如天猫平时访问量不太多,到双十一时就可以通过Tomcat集群做到横向扩展,只需要添加Tomcat节点即可(根据实际数据和历史数据进行评估)

2. Tomcat集群实现原理

通过Nginx负载均衡进行请求转发

3. 一,二期架构对比

一期架构

"想当然"的二期结构

3.1问题:

  • session登录信息存储及读取无法共享问题
  • 服务器定时任务并发的问题 eg.当订单没有付款,超时时,多个Tomcat会同时启动定时任务,一起去读取sql然后判断订单,对于逻辑过于复杂的业务就会造成线上数据错乱,数据出现竞争关系,难以排查出问题
  • ...

所以并不是随意加Tomcat即可

3.2解决方案

3.2.1 采用nginx ip hash policy(单纯解决登录问题)

  • 优点: 可以不改变现有技术架构,直接实现横向扩展(省事) 根据请求的ip,对ip进行hash取模,hash后分配到指定服务器
  • 缺点:
    • 导致服务器请求(负载)不平均(完全依赖ip hash的结果)
    • 在ip变化的环境下无法服务(每次不同ip hash到不同Tomcat服务器导致)

    二期真架构

4 Tomcat单机部署多应用-CentOS6.8

Nginx负载均衡配置,常用策略,场景及特点

轮询(默认)

实现简单,但是不考虑每台服务器的处理能力

权重

考虑了每台服务器的处理能力

ip hash

能实现同一个用户访问同一个服务器,但是不一定平均

url hash(第三方)

能实现同一个服务访问同一个服务器,但是分配请求会不平均,请求频繁的url请求会请求到同一个服务器上

fair

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.02.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 1. Tomcat集群能带来什么
    • 1.1 提高服务的性能,并发能力以及高可用性
      • 1.2 提供项目架构的横向扩展能力
      • 2. Tomcat集群实现原理
      • 3. 一,二期架构对比
        • 3.1问题:
          • 3.2解决方案
            • 3.2.1 采用nginx ip hash policy(单纯解决登录问题)
        • 4 Tomcat单机部署多应用-CentOS6.8
        • Nginx负载均衡配置,常用策略,场景及特点
          • 轮询(默认)
            • 权重
              • ip hash
                • url hash(第三方)
                  • fair
                  相关产品与服务
                  负载均衡
                  负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档