sso 单点登录怎么做集群 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
jwh199588

sso 单点登录怎么做集群

  •  
  •   jwh199588 2019 年 12 月 9 日 4598 次点击
    这是一个创建于 2329 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为项目的缘故,在环境部署到正式环境,进行压力测试的时候,发现 sso 单点登录的压力特别的高, 现在项目结构是不能调整了,有没有办法针对 sso 做负载均衡,

    23 条回复    2020-06-24 16:11:31 +08:00
    likuku
        1
    likuku  
       2019 年 12 月 9 日
    sso 入口是怎么个形式的服务? https? udp? 承载的服务 /服务器 可以横向多机 /实例么?

    可以的话,那就前面挂个负载均衡。
    lhx2008
        2
    lhx2008  
       2019 年 12 月 9 日 via Android   1
    seesion 用 key 的形式抽出来放到 redis 上面,sso 本身无状态,横向扩展就可以了,redis 不够就做 redis 集群,至于登录查数据库这里随便个 mysql 主从就能撑住了
    jugelizi
        3
    jugelizi  
       2019 年 12 月 9 日
    登录压力高?
    opengps
        4
    opengps  
       2019 年 12 月 9 日 via Android
    共享到内存中
    likuku
        5
    likuku  
       2019 年 12 月 9 日
    session 传统就用 memcached 了,临时数据嘛,redis 太奢侈
    solaro
        6
    solaro  
       2019 年 12 月 10 日
    @likuku memcache 的简单集群可真的比 redis 爽太多了。
    xuanbg
        7
    xuanbg  
       2019 年 12 月 10 日
    楼主这有多少用户同时在线啊,sso 居然会撑不住?看看时间都花在什么地方吧,优化下代码应该就好了吧。
    GoRoad
        8
    GoRoad  
       2019 年 12 月 10 日
    哪个朋友推荐的 去找哪个朋友
    jwh199588
        9
    jwh199588  
    OP
       2019 年 12 月 10 日
    @likuku 使用了 apache 的负载均衡,但是在调用 /oauth/authorize 方法的时候,返回的 code 在另外一台 sso 上并不存在,所有获取 token 的时候,会报错
    lihongjie0209
        10
    lihongjie0209  
       2019 年 12 月 10 日
    登录压力高??那这么多用户都查询一个复杂 SQL 你的系统直接就崩了?
    jwh199588
        11
    jwh199588  
    OP
       2019 年 12 月 10 日
    @lihongjie0209 我是在做压测的时候,发现所有的用户都需要经过 sso,这样 sso 的压力会特别大,所以想做成集群
    anyforever
        12
    anyforever  
       2019 年 12 月 10 日
    难道你的用户都在时时刻刻在做登录操作么。。
    lihongjie0209
        13
    lihongjie0209  
       2019 年 12 月 10 日
    @jwh199588 #11
    多少 qps 啊, 压力大是指 CPU ? 内存?响应时间?
    做集群是为了高可用还是高性能?
    zsc8917zsc
        14
    zsc8917zsc  
       2019 年 12 月 10 日
    @jwh199588 压测的时候是集中登录吧,现实情况登录压力都是分散的,很难有那么多用户集中登录的情景
    jwh199588
        15
    jwh199588  
    OP
       2019 年 12 月 10 日
    @lihongjie0209 主要是因为是国产化平台,所以服务器的性能很低,所以想使用负载来做
    lihongjie0209
        16
    lihongjie0209  
       2019 年 12 月 10 日
    那就找一台数据库服务器( mysql 或者 redis )做数据共享, 前面挂两个 sso, 再做一个反向代理就好了。
    JamesMackerel
        17
    JamesMackerel  
       2019 年 12 月 10 日 via iPhone
    说的是 oauth 压力大吧,这个可以理解,毕竟每一次请求都会问一下你的 sso 服务器。按照上面老哥说的做个无状态,前面挂个 nginx 就可以了。
    izoabr
        18
    izoabr  
       2019 年 12 月 10 日
    @jwh199588 #11 但是业务环境中,用户登陆行为是分散的,而且有 session 加持不是每个请求都要去认证,所以那个压力是一次性的呀。
    index90
        19
    index90  
       2019 年 12 月 10 日
    不如先说说你的 SSO 是如何实现的吧,毕竟现在一百个人有一百种“SSO”实现方式……
    ecloud
        20
    ecloud  
       2019 年 12 月 10 日
    天生就有很好的集群支持的 SSO 是 kerberos
    likuku
        21
    likuku  
       2019 年 12 月 10 日 via iPhone
    @jwh199588 apache 还有负载均衡? LB 我都用 HAProxy,nginx 作负载均衡我都不想用它。SQL 或者任何 DB 查询的多,那么充分用上缓存吧…memcached 传统,但依然管用。
    shawndev
        22
    shawndev  
       2019 年 12 月 11 日
    通常登录模块设计合理的话不会成为性能瓶颈,登录能达到性能瓶颈的业务规模会有专人解决这些问题。
    Shikyou
        23
    Shikyou  
       2020 年 6 月 24 日
    @index90 实现单点登录最快的方式,可以用国内的 Authing,国外的 Auth0 / AWS Cognito 这一类用户身份验证的云服务,给应用添加注册、登录和访问控制功能很快
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2691 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 61ms UTC 06:23 PVG 14:23 LAX 23:23 JFK 02:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86