zoukankan      html  css  js  c++  java
  • 分布式系统中对cookie和session的思考

    背景

    最近我们项目想上分布式,所以工作中涉及一些对springboot项目在项目架构上的思考

    session和cookie的大概区别

    (很多网站登录一次登录,可以很多次不用密码,其中就用到了session和cookie。所以用用户登录来说明)

    cookie将用户登录信息保存在浏览器端,下次登录直接发送cookie,就不需要输入用户名密码;

    session将用户信息保存在服务端的服务运行内存中,下次登录直接比较内存中的session,如果对比一直,就不要用户名密码。

    (cookie如果数据多浪费传输带宽,cookie可以破解,session保存在服务器不安全,分布式的时候session共享问题)

    session的问题

    上面说session保存在服务器,那么如果同一个前端服务有多个实例怎么办?用户这次登陆A实例,下次是B实例,那么session就不能共享。

    所以分布式需要解决session问题。(一般用redis集群来解决,session共享问题)

    优秀的spring服务架构,需要做到服务无状态

    去session(用Redis实现共享session)

    一般cache也有类似的问题,所以一般都会用双cache,首先redis,然后搞一个默认的caffeine、guava等什么的。

  • 相关阅读:
    php+apache+mysql环境搭建
    怎么理解依赖注入
    maven修改远程和本地仓库地址
    idea创建的java web项目打包发布到tomcat
    MYSQL 导入导出数据库文件
    MySQL约束
    mysql字符集校对
    prime
    POJ-2564 01背包问题
    POJ-1564 dfs
  • 原文地址:https://www.cnblogs.com/windy13/p/12616577.html
Copyright © 2011-2022 走看看