项目中遇到的难题

0.Long类型精度损失的问题

  1. # 前后端进行参数传入传出的时候
  2. # 在实体类加上这个注解
  3. @JsonSerialize(using = ToStringSerializer.class)

1.分布式事务

  1. # 多服务多数据源
  2. # 对远程调用的增删改

2.线程池异步处理和分布式锁

  1. # 获取热点文章使用线程池异步处理
  2. 首先创建线程池注册成bean
  3. 在热点评论的点赞方法上面添加@Async注解
  4. # 文章点赞功能
  5. 使用 分布式锁

3.下单支付服务对数据表的涉及

  1. # 原先的企业配置信息表
  2. 将所需要的第三方的配置信息(比如阿里商户appid、阿里公钥、商户私钥等)用行字段存储
  3. 这样如果后面需要添加第三方支付平台要需要添加字段,还要修改业务逻辑,会非常麻烦
  4. # 优化:列式存储,将key和value分别进行维护
  5. 我们使用列式存储,将原先的一张表分开为两张表
  6. 一张表(pay_config)存储第三方的配置信息的key(比如阿里商户appid、阿里公钥、商户私钥等)和支付类型(比如支付宝1,微信2
  7. 然后两外一张表(pay_configvalue)存储的是相对应的值,商户id,状态等
  8. 两张表通过pay_config.id和商户号关联