您的位置:首页 > 编程语言 > Java开发

Springboot实现Session共享及负载均衡

2017-12-14 18:40 447 查看
1.准备工作

Nginx用来实现负载均衡Nginx下载点这里

Redis用来实现Session共享,选择3.x版本Redis下载点这里

2.Session共享

pom.xml加入

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
application.properties加入redis配置

########################################################
### Redis+Session
########################################################
spring.redis.database=0
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.timeout=0
spring.session.store-type=redis
创建RedisConfig类

import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
@Configuration
@EnableCaching
@EnableRedisHttpSession
public class RedisConfig{
}
启动没报错的话,redis实现session共享就完成了。

如果报错的话,可能是你redis服务器版本太低,所以建议下载3.x以上。

3.Nginx负载均衡

解压完打开conf文件夹,更改nginx.conf配置。注意upstream
4000
后的名称要和proxy_pass配置一样

upstream test {
server localhost:8080;
server localhost:8081;
}

server {
listen       80;
server_name  localhost;

#charset koi8-r;

#access_log  logs/host.access.log  main;

#location / {
#    root   html;
#    index  index.html index.htm;
#}
location / {
proxy_pass http://test; proxy_set_header Host $host:$server_port;
}
4. 运行

在8080端口运行项目,在8081端口运行项目

打开Nginx.exe

输入http://localhost,看两个项目的后台信息,可以发现项目被轮询访问。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: