某借贷平台:
基于cloud&boot开发,主要负责业务:订单服务,负债服务,支付服务,风控服务,用户中心以及缓存服务
其中主要负责在各模块之间的调用存在分布式事务的情况下使用了reddision分布式锁处理以及通过rabbitmq处理分布式事务的最终一致性,服务间通过feign来调用并使用okhttp作为请求组件,缓存使用redis实现,通过缓存池以及自定义注解实现需要缓存的接口,通过zset处理分页查询上,主要通过分页查询的复合索引找到ids,然后通过md5匹配缓存中zset的分页区间ids,如果命中则使用缓存否则则从数据库取并把结果缓存到zset中。日常还有针对慢日志进行优化,主要针对查询慢的sql进行分析优化,一般来说都是在搭建期间由于开发时间周期问题导致的,主要有sql的索引大部分都未使用覆合索引,还有很多模糊查询也没使用到索引导致等,数据库搭建读写分离,通过自定义aop注解形式来实现读库与写库的选择,其中写库使用的myisam。