为了服务器安全,本文不包括具体代码。
描述
因为项目需要,要给网站接入微信登录,但是我们暂时没有企业资质,只能“曲线救国”,开发一个小程序,实现类似腾讯云小程序的登录方案。同时,我们是一个小团队,资金有限,我们自己的服务器内存寸土寸金。于是,最近把服务端的微信登录部分“简单”优化了一下,将原本 微信登录微服务模块 的大部分功能移植到了 微信云开发 上。
移植到云开发后,微信登录微服务模块 基本只剩下对内的微服务调用,去掉了MySQL、Redis的依赖。各功能的 微服务调用链路 只剩一半。
服务流程改变
以用户绑定流程为例
难点
- 剥离/改造原本的用户系统
- 兼容/对接原本的服务调用
优点
- 团队的服务器减少了一半的请求
- 不需要请求/存储用户微信的个人信息(用户名/头像),只需关联openid
- 云开发请求由微信控制
- 相对加大了攻击难度
- 价格较低
- 按量计费比较灵活(遇到攻击的时候也方便躺平QAQ)
- 上手难度较低
缺点
- 加大了后期调试难度
- 部分微服务的调用链路延长/更复杂
- 对 Redis 服务的 maxClients(最大连接数)要求高
- 迁移至其他小程序平台更困难