小程序|websocket入门案例: 构建微信扫小程序码登录系统( 二 )


那么它对应的小程序码 , 就可以通过 getMpQrcodeById 这样的方式 , 从自己数据库中取出链接 , 把二维码展示在页面上 , 同时 用户通过微信扫码后登录 , 也可以进行 client 之间 点对点 的通讯 。
不过在用户量大的时候 , 有可能会遇到 码不够用的情况 , 这种建议可以先预先估计用户数量生码 , 或者构建一个 job 检测发码数量 , 实时生码 , 插入数据库 , 上传CDN , 并刷新 ws 发号规则 。
扩展后如图所示:

扩展阅读
多实例模式
在多进程或者集群下如何处理呢? 比如 ClientA 连 ServerA ClientB 连 Server B 他们这 2 个 Client 之间要如何进行通信呢?

  1. 一种还是以单例网关的形式 , 构建一个注册中心负责统一的收发调度 , 然后把逻辑运算交给其他的运算服务去做 。
  2. 另一种是构建一套 发布/订阅机制 (比如 redis 的 Pub/Sub mechanism)来保证多个 ws 服务 , 可以进行相互通信 。
协议对应:
http -> ws https -> wss