欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

分布式锁、会话、事务等学习记要

程序员文章站 2022-05-03 21:41:44
...

1.zookeeper使用场景

分布式协调、分布式锁、元数据/配置管理、HA高可用场景

 

2.Redis分布式锁

普通实现方法(key+随机值)缺陷:redis失效时会导致锁失效

RedLock算法

 

3.zookeeper分布式锁

 

4.分布式session

Tomcat+Redis, Spring session+Redis

 

5.分布式事务

XA(两阶段提交)方案-可通过Spring+JTA实现、

TCC(try-confirm-cancel)方案、

本地消息表方案、

 可靠消息最终一致性方案、

 最大努力通知方案

 

6.分库分表

proxy层中间件:cobar、atias、mycat(当前较活跃、有运维成本、适合大公司)

client层中间件:TDDL、sharding-jdbc(当前较活跃、不需要部署代理层、适合中小型公司)

垂直拆分、水平拆分

不停机双写方案

动态扩容缩容

全局ID:

单独数据库自增ID(适用于:并发低、数据量大)、

UUID(缺点:太长、不适合主键)、

系统当前时间(需要时间戳+业务字段组合而成)、

snowflake算法(开源分布式ID生成算法、64位long型)

 

8.读写分离、MySQL主从复制、MySQL主从延迟导致的问题

 

9.高并发系统架构

系统拆分+缓存+MQ+分库分表+读写分离+ES

 

 

——来源于石杉码农学院

 

相关标签: 分布式 zookeeper