- 参与项目初期业务模型分析,服务边界确定,库表设计及架构技术选型
- 授权模块使用spring security,包括系统用户登录/社群门店/微信用户登录,提供不同的接口,基于单点登录技术实现,返回有效token,用户每次携带token登录
- 用户模块基于RBAC权限控制,使平台级,企业级,部门级,个人级用户拥有各自的操作权限
- 网关模块基于springcloud-gateway进行三层过滤实现转发,并进行跨域处理和IP限流
- 搭建Nacos,使用Nacos注册中心,基于Feign+Ribbon技术进行服务间调用;使用Nacos作为服务配置中心
- 搭建RocketMQ,授权模块用户登录后将用户唯一标识写入RocketMQ,减少登录非业务流程,提升登录性能,用户模块实时消费,将用户完整信息,角色信息,企业信息写入Redis,生产者采用同步+多次重试,mq配置采用同步刷盘+一主多从架构最大限度避免消息丢失
- 用户注册功能基于Redis实现分布式锁,避免多节点并发写入
- 搭建Mongo,基于注解AOP将全局异常写入Mango,并提供查询功能