项目中遇到的难题
0.Long类型精度损失的问题
# 前后端进行参数传入传出的时候# 在实体类加上这个注解 @JsonSerialize(using = ToStringSerializer.class)
1.分布式事务
# 多服务多数据源# 对远程调用的增删改
2.线程池异步处理和分布式锁
# 获取热点文章使用线程池异步处理 首先创建线程池注册成bean 在热点评论的点赞方法上面添加@Async注解# 文章点赞功能 使用 分布式锁
3.下单支付服务对数据表的涉及
# 原先的企业配置信息表 将所需要的第三方的配置信息(比如阿里商户appid、阿里公钥、商户私钥等)用行字段存储 这样如果后面需要添加第三方支付平台要需要添加字段,还要修改业务逻辑,会非常麻烦# 优化:列式存储,将key和value分别进行维护 我们使用列式存储,将原先的一张表分开为两张表 一张表(pay_config)存储第三方的配置信息的key(比如阿里商户appid、阿里公钥、商户私钥等)和支付类型(比如支付宝1,微信2) 然后两外一张表(pay_configvalue)存储的是相对应的值,商户id,状态等 两张表通过pay_config.id和商户号关联