跳到主要内容

用户禁用架构

需求说明

当用户遭禁时,该用户应如果已经登录,也该立刻被禁止访问。

难点在于禁用操作无法操作已经登录的客户端

架构思路

如果将已禁用的用户标识在redis中,每次访问都要读取这个reids,但这个总体来讲是小概率事件,影响性能了。

比较好的办法是:在每个app示例中存储一份被禁用户名单,当禁用操作发生时,通知所有运行的示例。

这个思路采用redis订阅事件:

image-20191227192022001