一、十荟团WMS系统接入SSO登录
目的:在多个系统中,用户只需一次登录,各个系统即可感知该用户已经登录,简化操作流程,提升用户体
验
方案:采用Springcloudgateway+JWT
难点:SSO登录方式一旦上线,将影响所有系统,如果出现问题会影响所有仓库作业
解决难点:结合远程配置文件,设置新旧登录方式开关,实现一键切换,将影响降到最低
二、叮当快药微信小程序接入微信医保支付功能
目的:提升用户体验,丰富叮当快药的功能
方案:订单模块对接微信医保支付接口(微信医保团队首次跟外部对接)
遇到的问题:联调过程中,微信医保团队测试环境无法访问叮当测试环境
解决问题:经过问题排查,发现可以访问叮当预发环境,所以在测试环境跟预发环境搭专线,在预发机器上
安装nginx,通过反向代理指定特定请求转发到测试环境。保证后续的联调工作。
三、京东关注系统缓存穿透方案
问题产生原因:公司为了统一控制资源,避免资源的浪费,要求各部门统一使用jimdb,回收掉部门自己搭建
的redis集群相关资源。当redis切换到jimdb之后,发生过几次扩容,扩容期间查询店铺被关注数发生缓
存穿透,导致直接查询数据库执行selectcount(*)语句,大量sql排队
目的:解决缓存穿透对业务数据库造成的压力
难点:由于是老系统,不允许修改之前的代码,避免产生新的bug影响业务
解决方案:增加中间表,保存店铺id跟被关注数,缓存穿透后查中间表,中间表没有再查业务库,然后补全
中间表跟redis数据。并且定期同步数据。