目录
- 1. 分布式ID
-
- 1-1. 传统方案
- 1-2. 分布式ID特点
- 1-3. 实现方案
- 1-4. 开源组件
- 2. 分布式Session
-
- 2-1. 传统Session
- 2-2. Spring-Session
- 2-3. Token + Redis
- 2-4. JWT
- 2-5. 拦截器统一处理Token
- 2-6. Oauth2
- 3. 分布式锁
-
- 3-1. redis
- 3-2. Zookeeper
1. 分布式ID
1-1. 传统方案
- 时间戳
- UUID
1-2. 分布式ID特点
- 全局唯一
- 高并发
- 高可用
1-3. 实现方案
方案总结:
1-4. 开源组件
- 百度 uid-generator 只支持雪花算法,组件无人维护
- 滴滴 Tinyid 只支持数据库号段,支持多db,高可用,提供java-client
- 美团 Leaf 支持号段模式、雪花算法。使用zk解决机器码
2. 分布式Session
2-1. 传统Session
Session是由Tomcat
管理的
2-2. Spring-Session
使用spring提供的spring-session-data-redis
依赖,配置对应的策略,将session存储到redis中。
2-3. Token + Redis
2-4. JWT
2-5. 拦截器统一处理Token
2-6. Oauth2
3. 分布式锁
3-1. redis
使用setnx
,原子性操作
直接使用redis客户端,redisson
3-2. Zookeeper
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
说明 这是一种视图授权的操作记录,供后服务器托管网续检查使用 操作 1,A用户创建表 conn a/a create table t (); 2,B用户创建视图 conn / as sysdba grant select on a.t to b with gr…