因为项目的缘故,在环境部署到正式环境,进行压力测试的时候,发现 sso 单点登录的压力特别的高, 现在项目结构是不能调整了,有没有办法针对 sso 做负载均衡,
因为项目的缘故,在环境部署到正式环境,进行压力测试的时候,发现 sso 单点登录的压力特别的高, 现在项目结构是不能调整了,有没有办法针对 sso 做负载均衡,
|
likukuDec 9, 2019
1
sso 入口是怎么个形式的服务? https? udp? 承载的服务 /服务器 可以横向多机 /实例么?
可以的话,那就前面挂个负载均衡。 |
|
2
seesion 用 key 的形式抽出来放到 redis 上面,sso 本身无状态,横向扩展就可以了,redis 不够就做 redis 集群,至于登录查数据库这里随便个 mysql 主从就能撑住了
|
|
jugeliziDec 9, 2019
3
登录压力高?
|
|
opengpsDec 9, 2019 via Android
4
共享到内存中
|
|
likukuDec 9, 2019
5
session 传统就用 memcached 了,临时数据嘛,redis 太奢侈
|
|
xuanbgDec 10, 2019
7
楼主这有多少用户同时在线啊,sso 居然会撑不住?看看时间都花在什么地方吧,优化下代码应该就好了吧。
|
|
GoRoadDec 10, 2019
8
哪个朋友推荐的 去找哪个朋友
|
|
9
@likuku 使用了 apache 的负载均衡,但是在调用 /oauth/authorize 方法的时候,返回的 code 在另外一台 sso 上并不存在,所有获取 token 的时候,会报错
|
|
lihongjie0209Dec 10, 2019
10
登录压力高??那这么多用户都查询一个复杂 SQL 你的系统直接就崩了?
|
|
11
@lihongjie0209 我是在做压测的时候,发现所有的用户都需要经过 sso,这样 sso 的压力会特别大,所以想做成集群
|
|
anyforeverDec 10, 2019
12
难道你的用户都在时时刻刻在做登录操作么。。
|
|
lihongjie0209Dec 10, 2019
13
|
|
zsc8917zscDec 10, 2019
14
@jwh199588 压测的时候是集中登录吧,现实情况登录压力都是分散的,很难有那么多用户集中登录的情景
|
|
15
@lihongjie0209 主要是因为是国产化平台,所以服务器的性能很低,所以想使用负载来做
|
|
lihongjie0209Dec 10, 2019
16
那就找一台数据库服务器( mysql 或者 redis )做数据共享, 前面挂两个 sso, 再做一个反向代理就好了。
|
|
JamesMackerelDec 10, 2019 via iPhone
17
说的是 oauth 压力大吧,这个可以理解,毕竟每一次请求都会问一下你的 sso 服务器。按照上面老哥说的做个无状态,前面挂个 nginx 就可以了。
|
|
index90Dec 10, 2019
19
不如先说说你的 SSO 是如何实现的吧,毕竟现在一百个人有一百种“SSO”实现方式……
|
|
ecloudDec 10, 2019
20
天生就有很好的集群支持的 SSO 是 kerberos
|
|
likukuDec 10, 2019 via iPhone
21
@jwh199588 apache 还有负载均衡? LB 我都用 HAProxy,nginx 作负载均衡我都不想用它。SQL 或者任何 DB 查询的多,那么充分用上缓存吧…memcached 传统,但依然管用。
|
|
shawndevDec 11, 2019
22
通常登录模块设计合理的话不会成为性能瓶颈,登录能达到性能瓶颈的业务规模会有专人解决这些问题。
|