- 博客(2)
- 收藏
- 关注
原创 锁
1、锁的产生是由于资源的竞争: 公平角度,可以分为公平锁、非公平锁; 意识形态,可以分为乐观锁(CAS)、悲观锁; 协同合作,如golang的select/channel机制; 2、锁粒度: 读写分离,可以分为共享锁(读读)、排他锁(读写、写写) 数据粒度,如MySQL的表锁、行锁、间隙锁等;隔离级别越严格,锁颗粒越大; 3、分布式锁: redis:redission的实现(watchdog机制),redlock(脑裂); zookeeper:创建临时有序节点,并监听前一个节...
2021-03-07 17:07:04
120
原创 log之给分布式服务添加traceId
#1.背景: 以之前的公司为例,由于公司系统的架构为拆分为几个模块,有基础、网关、订单、库存等,除了模块与模块之间的调用关系比较复杂,模块内部的处理也比较多,不能很清晰的描述一条信息的生命周期,报错时也无法快速的定位问题。 #2.思路: 为每次请求分配一个流水号traceId,在日志打印处加上这个traceId,模块调用时亦将traceId往下传,直至整条消息处理完成,返回时清除traceId #3.做法: - 模块内部日志串联:在网关接到订单时生成唯一流水号traceId,并将其放入threadLocal
2021-03-07 17:05:04
917
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人