一、为什么要用Tomcat水平扩容
随着某业务用户数增加,原来Tomcat容量已不足支撑,需要Tomcat扩容,使用Nginx负载均衡会自动将请求转发到Tomcat01节点或Tomcat02节点服务器,以减轻Tomcat压力,从而达到Tomcat集群化部署。
实现模式:Nginx负载均衡 + Redis集群 + session和access_token共享
为了使各Tomcat之间共享同一个Session和access_token,采用Redis缓存服务来集中管理Session和access_token存储。Nginx实现负载均衡,并使用Redis存储session和access_token,实现session和access_token共享。
二、Redis Sentinel实现方式
1、redis主从模式
设置一个redis为主库,另外两个为从库,从库是主库的备份,数据完全一致。
主库支持业务数据的写入和读取等各项操作,但是从库只支持主库数据的同步和读取,注意从库的数据同步和主库的写入是有区别的。数据写入主库,主库自动将数据的写入操作同步到从库,所以可以将写入数据的命令发给主库执行,而读取数据的命令发给不同的从库执行,从而实现读取分离。
2、哨兵监听过程
redis存储数据,哨兵监控,哨兵是redis实例,但只起监控作用,它们共同监控数据节点的运行状况;
每个哨兵以每秒钟一次的频率向它所知的主redis、从redis以及其他 Sentin