智能一代云平台(二十六):tomcat集群搭建中的那些事儿
来源:互联网 发布:沈阳网络系统安全技术 编辑:程序博客网 时间:2024/05/19 14:50
【前言】
无数人撞的头破血流告诉我们的一个经验是一个网站如果不做负载后果是不堪设想;负载一是对请求进行分压不至于大流量过来把机器压垮,即使部分机器Down掉网站仍可用(高可用,防止单点故障)。
【负载中不得不知的一些秘密】
1.做负载的有很多选择,从大的方面分为两种:
(1)硬负载
F5:效率高,成本高
.......
(2)软负载
LVS
HAproxy
Nginx
.......
2.我们的选择:
对目前我们所遇到以及在未来的一段时间内Nginx足可以满足我们的需要
3.集群中一个绕不开的话题:session共享
(1)Session共享三种方式:
a.粘贴方式,通过负载均衡的策略(比如Nginx负载时的哈希轮询)
优点:简单
缺点:需要访问的客户的IP分散,一旦某台集群宕机正在访问该机器的客户会受到影响;
b.Tomcat之间进行复制
优点:当tomcat的数量在五台之内可以用这种方式,简单高效
缺点:当tomcat的数量多时session之间的共享也对性能有消耗,会有一定的延迟
c.通过redis来进行共享
优点:Session在一个地方有点面向对象的抽象的味道,且tomcat机器宕机后session不会丢失对客户影响较小
缺点:引入了redis多引入一个故障点
(2)实现方式:
通过负载均衡策略以轮询算法中的哈希为例
tomcat本身进行共享,参考博客 http://blog.csdn.net/wlwlwlwl015/article/details/48160433
通过redis进行共享,引入redis的包修改tomcat 的content的配置文件
(3)我们选择的方式:
考虑到我们上线应用的特点,目前用两台机器做负载足以,所以综合考虑后采用tomcat本身进行session共享这种方式。
【总结】
生活在互联网的今天,一个应用的不可用对一个公司很多情况下是不可容忍的轻则损失一些利润重则公司倒闭;所以高可用方面的知识需要我们每个IT技术人员去学习,改进从而为公司和人类创造更多的价值。
- 智能一代云平台(二十六):tomcat集群搭建中的那些事儿
- 高校云平台(二):评教中的那些事儿!
- 智能一代云平台(十六):解决Linux服务器被植入木马总结
- 智能一代云平台(二十二):多租户方案比较Hibernate、EclipseLink、Mybatis+Mycat
- 智能一代云平台(二十三):Mycat高可用的探索
- 智能一代云平台(二十四):已安装的Nginx上安装echo
- 智能一代云平台(二十五):利用Nginx对不同的域名进行解析
- 智能一代云平台(二十七):一次线上环境出问题排错经历
- 智能一代云平台(二十九):通用mapper的改造
- Servlet&JSP的那些事儿(二十六)
- 智能一代云平台(三十):逆向工程生成mybatis
- 智能一代云平台(三十一):mybatis加入分页
- 智能一代云平台(三十三):log4j日志研究
- 智能一代云平台(三十四):后端架构一些总结
- 智能一代云平台(三十五):后端架构再思考
- 智能一代云平台(三十七):Java技术栈
- 智能一代云平台(二十):Keepalived+Nginx实现高可用,反向代理---模拟实现线上环境
- 智能一代云平台(二十一):生产环境Nginx报 502 Bad Gateway 问题复现及解决方案
- C++中类的三种继承方式比较
- iOS开发之opencv学习笔记一:下载和安装
- Android 命名规范 (提高代码可以读性)
- yolo v2 损失函数源码解读
- Spring、Spring MVC、MyBatis 整合文件配置详解
- 智能一代云平台(二十六):tomcat集群搭建中的那些事儿
- java-构造函数
- Java的文件读写操作
- centos7系统下安装php-memcached拓展及简单使用
- Android开发错误:Error:” ” is not translated in “en” (English) [MissingTranslation]处理方法?
- 好看的彩色二维码
- 金蝶EAS,后台抛出业务异常,中断程序
- 二级下拉框
- vi的使用--使用vi查找和替换