spring boot(学习笔记第十一课) Session共享,JPA实现自动RESTful

spring boot(学习笔记第十一课)

  • Session共享,JPA实现自动RESTful

学习内容:

  1. Session共享
  2. JPA实现自动RESTful

1. Session共享

  1. Session共享面临问题

    • spring boot默认将session保存在web server的内存里面,会产生什么问题呢。在这里插入图片描述
      如上图所示,有nginx作为服务器前置负载均衡器的时候,第一次访问将session保存在web server 1中的内存中,但是第二次访问的时候,假如重新定向到web server 4的时候,将无法正确取得session

    • 使用redis解决问题
      在这里插入图片描述
      使用redis之后,使每次web serversession数据都保存到唯一的redis的,这样重定向到那个web server,最后都会从redis的内存取得,所以每次取得和保存的session数据都一致。

  2. Nginx负载均衡

    • 创建nginx server 最好使用sudo -i注意,这里使用VMware进行创建
      cd /data
      mkdir nginx
      wget https://nginx.org/download/nginx-1.27.0.tar.gz
      cd nginx-1.27.0
      yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++
      ./configure
      make
      make install
      
    • 启动nginx server
      • 如果有process占用80端口,通过ss -tulnp | grep :80命令确认。
      • 如果有process占用80端口,通过ss -tulnp | grep :80命令确认。
      • 之后定位到$pid,使用kill -9 $pid结束进行。注意,这里$pid意味需要替换的变量
    • 尝试访问nginx server
      http://192.168.12.130/ 注意,这里采用http,不能采用https,如何配置httpsnginx中需要确认
      在这里插入图片描述
    • 修改nginx.conf配置文件
       upstream finlay.com{
            server 192.168.12.1:8080 weight=1;
            server 192.168.12.1:8081 weight=1;
          }
          #gzip  on;
          server {
              listen       80;
              server_name  localhost;
              #charset koi8-r;
              #access_log  logs/host.access.log  main;
      
              location / {
                  proxy_pass http://finlay.com;
                  proxy_redirect default;
              }
      
  3. spring boot应用加入session依赖
    加入了这个依赖,spring boot应用程序自动 session数据保存到redis的数据库中。

     <dependency>
                <groupId>org.springframework.session</groupId>
                <artifactId>spring-session-data-redis</artifactId>
    </dependency>
    
  4. 配置controller并且去掉https

    • 配置controller,在controller中向session保存信息之后从session读取信息。
          @Value("${server.port}")
          private String port;
      
          @PostMapping("/save")</
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值