当前位置: 首页 > news >正文

分布式解决方案

目录

  • 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. 号段模式
    • 有两台服务器,给第一台服务器分配0-100,第二台服务器分配101-200
    • 优点:性能提高,自增
  2. 雪花算法

在这里插入图片描述

1-4. 开源组件

  1. 百度 uid-generator 只支持雪花算法,组件无人维护
  2. 滴滴 Tinyid 只支持数据库号段,支持多db,高可用,提供java-client
  3. 美团 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

相关文章:

  • python实现冒泡排序
  • 树莓派Py程序加入开机自启
  • C语言 —— 图形打印
  • python学习、开发实用文档分享
  • 【死磕Elasticsearch】从实战中来,到实战中去
  • Java SE入门及基础(35)
  • 基于 HBase Phoenix 构建实时数仓(2)—— HBase 完全分布式安装
  • plantUML使用指南之序列图
  • 98. 一台服务器能支持多少QPS
  • Spring Security
  • 代码随想录day33 Java版
  • 高可用篇_A Docker容器化技术_V 基于DockerCompose实现容器编排
  • 蓝桥杯(3.10)
  • python基础及网络爬虫
  • Langchain-Chatchat本地搭建ChatGLM3模型和提取PDF内容
  • 【自然语言处理】【大模型】BitNet:用1-bit Transformer训练LLM
  • 蓝桥杯[OJ 2928]分糖果-CPP(贪心、字典序)
  • FreeRTOS教程2 任务管理
  • 加密 / MD5算法 /盐值
  • C语言——简易版扫雷
  • 铁路部门:确保沿线群众安全,焦柳铁路6个区段将陆续安装防护栅栏
  • 旭辉控股集团主席林中:债务重组是活下来的前提,自营开发业务收缩至少数核心城市
  • 生态环境保护督察工作条例对督察对象和内容作了哪些规定?有关负责人答问
  • 哈尔滨工业大学原副校长王魁业逝世,享年92岁
  • 让“五颜六色”面孔讲述上海故事,2025年上海城市推荐官开启选拔
  • 白宫启动“返乡计划” ,鼓励非法移民自愿离开美国