nginx+tomcat+redis集群实现负载均衡和session同步的步骤和问题处理方法

本文介绍了如何在nginx+tomcat环境下实现负载均衡和session同步,通过配置nginx的upstream实现负载均衡,利用redis解决session同步问题。详细讲述了在配置过程中遇到的坑,如ip_hash的使用、Terracotta不支持Java8等问题,以及解决办法,特别是针对redis集群的配置和JedisCluster的使用。
摘要由CSDN通过智能技术生成

最近在研究nginx+tomcat的负载均衡功能, 因为需要实现failover时用户无感知的效果,所以我考虑使用tomcat的session同步方式来实现。网上能查到的东西我就直接贴链接了,我把搭建这套系统的过程,与遇到的坑的处理方式说明一下。

我使用的系统环境

Centos6.5 和 Centos7.2
Tomat7.0.29
JDK1.8.0_111-b14
Redis 3.2.6

一. 实现nginx+tomcat的负载均衡

用nginx+tomcat实现负载均衡的方法,只需要在nginx的配置文件中配置相应的upstream设置需要负载均衡的服务器列表就可以了。

怎么配置可以参考这个,这个写的比较全面而且不坑

稍微说一下可能会坑的地方

在http节点下,添加upstream节点。

upstream linuxidc {
server 10.0.6.108:7080;
server 10.0.0.85:8980; }

将server节点下的location节点中的proxy_pass配置为:http:// + upstream名称,即“ http://linuxidc”.

location / {
root html;
index index.html index.htm;
proxy_pass http://linuxidc; }

注意一下upstream的名称和在proxy_pass里引用的方法

这一步做完以后,可以试验一下在两台机器上部署同样的项目,通过nginx的负载均衡的机制,刷新页面可以看到被指向到了不同的服务器上。
测试failover的话,在nginx的upstream里

upstream backend {
server 192.168.198.128:8080 weight=1;
server 192.168.198.128:8090 weight=4;
server 192.168.198.128:8091 backup;
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值