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应用的水平扩展受到了限制.
  • 相关阅读:
    JS文本框下拉提示效果
    JS动态添加删除表格行
    JS验证 数字 电话号码 传真 邮箱 手机号码 邮编 日期
    TreeView 中CheckBox级联选中问题
    HashTable Dictionary
    JS操作Frame对象
    Winfrom 中怎样在回车时设置焦点
    Word 操作(未完待续)
    HTML5特性——prefetching预加载功能
    10个实用的 jQuery Mobile 插件推荐
  • 原文地址:https://www.cnblogs.com/snail-gao/p/14140709.html
Copyright © 2011-2022 走看看