首先项目整体是springBoot+maven,所以需要添加依赖如下:
<!-- redis-session 所需依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
在启动类上添加注解
@EnableAutoConfiguration
@SpringBootApplication
@EnableRedisHttpSession //开启spring session
public class Demo01Application {
//http://localhost:8090
public static void main(String[] args) {
SpringApplication.run(Demo01Application.class, args);
}
}
@EnableAutoConfiguration
@SpringBootApplication
@EnableRedisHttpSession //开启spring session
public class Demo02Application {
//http://localhost:8091
public static void main(String[] args) {
SpringApplication.run(Demo02Application.class, args);
}
}
定义controller来测试,代码如下:
@RestController
public class Nginx01cr {
@RequestMapping("nginx")
public String ngnix01(HttpSession session) {
return "请求的是nginx01,端口号是:" + 8090 + "session: " + session.getId();
}
}
@RestController
public class Nginx02cr {
@RequestMapping("nginx")
public String ngnix02(HttpSession session) {
return "请求的是nginx02,端口号是:" + 8091 + "session: " + session.getId();
}
}
启动项目前记得开启redis服务!!!
这里用nginx进行轮询 nginx.conf配置文件如下 进入nginx根目录点击nginx.exe 即可运行
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#访问地址 http://localhost/nginx
upstream redislock{
server 127.0.0.1:8090;
server 127.0.0.1:8091;
}
server {
listen 80;
server_name localhost;
location /nginx {
#转发请求地址到redislock上 必要
proxy_pass http://redislock;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
结果:
在网页输入 : http://localhost/nginx
请求的是nginx01,端口号是:8091session: e369f082-30fe-4624-a78b-f35605a454e2
应该是轮询交替出现的