zoukankan      html  css  js  c++  java
  • 微服务架构下的统一授权(单点登录)

    微服务架构下的统一授权

    识别客户端的身份,并且能够保存这个身份的状态
    HTTP协议无状态协议:

    • 浏览器的Cookie(disk / mem),客户端的状态存储
    • 服务器端的session(服务端的状态存储)

    集群模式下的会话丢失

    Session Sticky

    • IPHASH |hash(ip)|%目标服务器的数量=目标服务器的地址

    • HASH算法

      • Hash算法: MD5 、SHA-1 、SHA-256
      • 应用场景: 软件包的签名; HS256/ RS256 ;

        分表的场景 1000数据量的表 - 10个100W的小表 (分片键) 唯一ID
        HASH(ID) %10 ={1~10}
        如果数据量增长过快,需要扩容。 10个表 - 100个表
        HASH(ID) %100 ={1~100}
        影响: 需要对原来的数据进行整体的迁移。

    • 一致性hash算法

      • hash环
    • Session复制

    • Session信息的统一存储

    • Access_Token(携带一些有效信息)

    Session统一存储

    Session Replication

    • session复制,通过相关技术实现session复制,使得集群中的各个服务器相互保存各自节点存储的
    • session数据。tomcat本身就可以实现session复制的功能,基于IP组播放方式。
      如何配置
      这种实现方式的问题:
    1. 同步session数据会造成网络开销,随着集群规模越大,同步session带来的带宽影响也越大
    2. 每个节点需要保存集群中所有节点的session数据,就需要比较大的内存来存储。
      在节点持续增多的情况下,session复制带来的性能损失会快速增加.特别是当session中保存了较大的对象,而且对象变化较快时,性能下降更加显著.这种特性使得web应用的水平扩展受到了限制.
  • 相关阅读:
    html常用标签及示例
    判断一个数是否是素数的讨论
    图像的空间域变化
    图像增强的点运算(一)
    字符串匹配——KMP
    AcWing1134最短路计数(spfa)
    AcWing1137拯救大兵瑞恩(双端队列搜索,状态压缩,分层图最短路)
    AcWing1175电路维修(双端队列+搜索)
    AcWing1137选择最佳线路(最短路)
    AcWing342道路与航线(dijkstra+拓扑排序)
  • 原文地址:https://www.cnblogs.com/snail-gao/p/14140709.html
Copyright © 2011-2022 走看看