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等什么的。

  • 相关阅读:
    IO模型
    Java NIO概述
    消息系统避免分布式事务
    JVM调优总结
    设计模式的六大原则
    Java 内存区域与内存溢出
    windows go安装
    ZooKeeper原理及使用
    再谈HashMap
    Html5 播放实时音频流
  • 原文地址:https://www.cnblogs.com/windy13/p/12616577.html
Copyright © 2011-2022 走看看