1)资源锁细粒度化
将100个资源拆分成10份。
这10份分别上锁,应用场景如秒杀。
2)业务使用锁细粒度化
只对需要的资源加锁,避免大范围加锁。
3)无锁化(真无锁,假无锁)
ThreadLocal 真无锁
CAS 假无锁
4)异步+线程池
Completeable
hystrix/sentinel 限流
Leaf /
Snowflake
缺点:
1)依赖于时间,需要ntp
2)依赖于NodeId和AreaID的分发,用ZK解决
通过zk的顺序性分配唯一的node和area
基于Mysql的发布
基于Mysql的优化
基于雪花算法
基于ZK