【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
**开源地址:https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB **
private String port; /**
- 将信息存放在session中
/ @GetMapping(“set”)
public String set(HttpSession session) {
session.setAttribute(“user”, “hello world~~~”);
return port;
} /* - 从session中获取信息
*/ @GetMapping(“get”)
public String get(HttpSession session) {
return session.getAttribute(“user”) + " : " + port;
}
}
我们写了一个 set,一个 get 方法,将信息存放在 session 中,从 session 中取出信息
四、打包测试
启动项目,分别启动在两个端口:
java -jar .\session-0.0.1-SNAPSHOT.jar --server.port=8080
java -jar .\session-0.0.1-SNAPSHOT.jar --server.port=8081
分别启动在 8080,8081端口
访问:http://localhost:8080/set
我们从 8080 端口,将信息保存在 session 中
我们访问:http://localhost:8081/get
我们在 8081 端口的项目中从 session 中取出了内容:hello world~~~
由此证明,我们的 session 共享已经成功
五、分布式部署
下面我们借助 nginx 代理转发访问这两个项目
1、配置转发
nginx 配置文件如下:
主要配置内容:
upstream helloworld{
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=2;
}
这里配置转发到 8080,8081 端口,并配置了权重
location / {
proxy_pass http://helloworld;
#root html;
#index index.html index.htm;
}
拦截本地的所有请求,默认端口为 80
2、启动 nginx
nginx -s reload
3、访问测试
我们先删除 redis 里面刚刚测试保存的信息
然后我们访问:
http://localhost/set
这里我们可以看出,由 8080 端口的服务器完成了 set 请求,多次访问,nginx 将会根据什么配置的权重参数分配服务器来完成操作
下面我们访问:
http://localhost/get
可以看出,由 8081 端口的服务器完成了 get 请求,并成功取到了存在 session 中的数据,实现了 session 共享
六、总结
[外链图片转存中…(img-thuoimaT-1717488820206)]
可以看出,由 8081 端口的服务器完成了 get 请求,并成功取到了存在 session 中的数据,实现了 session 共享