背景

业务量小于500W的时候单独一个mysql即可提供服务,再大点的时候就进行读写分离也可以应付过来。但当主从同步也扛不住的是就需要分表分库了,但分库分表后需要有一个唯一ID来标识一条数据,数据库的自增ID显然不能满足需求;特别一点的如订单、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的。那么这个全局唯一ID就叫分布式ID。分布式ID需满足那些条件:

  • 全局唯一:基本要求就是必须保证ID是全局性唯一的。
  • 高性能:高可用低延时,ID生成响应要快。
  • 高可用:无限接近于100%的可用性
  • 好接入:遵循拿来主义原则,在系统设计和实现上要尽可能的简单
  • 趋势递增:最好趋势递增,这个要求就得看具体业务场景了,一般不严格要求

一、UUID

UUID 是指Universally Unique Identifier,翻译为中文是通用唯一识别码,UUID 的目的是让分布式系统中的所有元素都能有唯一的识别信息。形式为 8-4-4-4-12,总共有 36

Java基础学习总结(175)——分布式ID的9种生成方式总结相关推荐

  1. 分布式 ID的 9 种生成方式

    一.为什么要用分布式 ID? 在说分布式 ID 的具体实现之前,我们来简单分析一下为什么用分布式 ID?分布式 ID 应该满足哪些特征? 1.什么是分布式 ID? 拿 MySQL 数据库举个栗子: 在 ...

  2. 【Java基础学习笔记】- Day11 - 第四章 引用类型用法总结

    Java基础学习笔记 - Day11 - 第四章 引用类型用法总结 Java基础学习笔记 - Day11 - 第四章 引用类型用法总结 4.1 class作为成员变量 4.2 interface作为成 ...

  3. Java基础学习:尚硅谷项目三 开发团队调度软件

    Java基础学习:尚硅谷项目三 开发团队调度软件 一.软件功能与结构设计 1. 软件功能 该软件实现以下功能: 软件启动时,根据给定的数据创建公司部分成员列表(数组) 根据菜单提示,基于现有的公司成员 ...

  4. 尚学堂JAVA基础学习笔记_2/2

    尚学堂JAVA基础学习笔记_2/2 文章目录 尚学堂JAVA基础学习笔记_2/2 写在前面 第10章 IO技术 1. IO入门 2. IO的API 3. 装饰流 4. IO实战 5. CommonsI ...

  5. Java基础学习(9)

    Java基础学习 一.常用方法(API) 1.1 Math 1.2 System 1.3 Runtime 1. 4 .object 1.5 Objects 1.6 BigInteger BigInte ...

  6. Java 基础学习-Java语言概述

    Java 基础学习 第一章 Java语言概述 回顾java基础知识,进行整理记录. 文章目录 Java 基础学习 前言 一. Java语言发展史(了解) 二.Java语言跨平台原理(理解) 三.JRE ...

  7. java基础学习-4

    Java基础学习-4 static 注意事项 重新认识main方法 继承 小练习 子类到底能继承父类中的哪些内容(第126集)*** 继承过程中成员变量和成员方法的访问特点 小练习 小总结 构造方法的 ...

  8. Java基础学习——第六章 面向对象编程(下)

    Java基础学习--第六章 面向对象编程(下) 一.关键词:static 1. static关键字的引入 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new ...

  9. java基础学习-6

    Java基础学习-6 双列集合 Map的常见API Map的遍历方式 HashMap 小练习 LinkedHashMap TreeMap TreeMap--小练习1 TreeMap--小练习2 Tre ...

最新文章

  1. Laravel核心解读--完结篇
  2. Spring Boot 2.4 对多环境配置的支持更改
  3. mybatis应用(三)优化
  4. 力扣 1553. 吃掉 N 个橘子的最少天数 记忆化DFS|记忆化BFS|剪枝
  5. mysql 重命名索引_mysql增删改字段,重命名替换字段
  6. (29)Verilog HDL系统函数:$finish
  7. java list 去除 重复值
  8. winscp自动执行脚本
  9. 那智机器人程序备份复原方法
  10. 树莓派zero 2w i2c操作 rda5807收音机芯片记录(电台差转站点远程监听可行性探讨)
  11. SSlSocket和SSLServerSocket的学习 jks,bks的使用
  12. windows10 安装iCloudDrive失败,安卓照片视频导入iPhone
  13. L2-039 清点代码库(Python3)
  14. 衢州,“最多跑一次”的先行者
  15. 【网络流24题-2】太空飞行计划 网络流
  16. 2022登高架设理论题库及答案
  17. 在python中创建Excel文件并写入数据
  18. 洛谷排行榜JAVA实现
  19. MATLAB计算气象水文要素年内分配指数
  20. 英语读书笔记-Book Lovers Day01

热门文章

  1. Python panads数据处理二
  2. 计算机网络 第章 运输层
  3. java解析xml串标签_Java反射解析XML字符串并封装到指定的JavaBean
  4. mysql 数据结构语句_SQL 数据结构操作语句
  5. 计算机表格怎么加减乘除,如何在Word表格中进行加减乘除
  6. python爬虫之js链接跳转抓取_Python爬虫获取页面所有URL链接过程详解
  7. 代码的c++实现_一文带你快速理解FreeRTOS代码规范~
  8. C++安全方向(二):2.5 Base58_比特币钱包地址_算法分析
  9. python函数定义参数类型和返回值类型
  10. C++重载操作符详解