dubbo的工作原理
Zookeeper
1、分布式协调
2、分布式锁
3、元数据、配置数据的管理
4、HA高可用性
redis和zk的分布式锁
redis
在定义key的时候可以加一个随机值,lua删除锁的时候会判断是否成功
zk锁临时节点
zk基于临时顺序节点的锁
分布式事务
1、两阶段提交方案XA方案
XA方案多个库的情况下不适用,但是按照微服务的架构、都得是多个库,所以现在基本不适用了
2、TCC方案
TCC适用于严格保证成功的可以采用tcc的方式、不能做出通用性的。
3、本地消息表
4、可靠消息最终一致性方案
如何设计高并发系统
分库分表
hash分发就会有数据迁移的问题。以及取模的重新分配。
不停机迁移分库分表
分库分表的扩容方案
Mysql读写分离的原理
semi-sync半同步机制。
所谓并行复制、就是从库开启多个线程、并行读取relaylog中不同库的日志。然后并行重放不同库的日志、库级别的并行
高可用系统