全局唯一ID生成方案 传统的单体架构的时候,我们基本是单库然后业务单表的结构。每个业务表的ID一般我们都是从1增,通过AUTO_INCREMENT=1设置自增起始值,但是在分布式服务架构模式下分库分表的设计,使得多个库或多个表存储相同的业务数据。这种情况根据数据库的自增ID就会产生相同ID的情况,不能保证主键的唯一性。 如上图,如果第一个订单存储在 DB1
- 分享28
- 计算机基础6
- 框架6
- 数据库6
- Java15
- 工具1
- 学习路线2
- 海量数据9
- 消息队列4
- 实践经验3
- 缓存17
- 笔记5
- Tomcat1
- 设计模式13
- 分布式7
- 优质文章31
- 场景设计20
- netty1
- springcloud1
- MySQL1
- redis1
- 源码分析24
- docker1
- git1
- maven1
分布式锁 为什么要使用分布式锁 在单机环境下,当存在多个线程可以同时改变某个变量(可变共享变量)时,就会出现线程安全问题。这个问题可以通过 JAVA 提供的 volatile、ReentrantLock、synchronized 以及 concurrent 并发包下一些线程安全的类等来避免。 而在多机部署环境,需要在多进程下保证线程的安全性,Java提供的这
RPC RPC简介 RPC,英文全名remote procedure call,即远程过程调用。就是说一个应用部署在A服务器上,想要调用B服务器上应用提供的方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 可以这么说,RPC就是要像调用本地的函数一样去调远程函数。 RPC是一个完整的远程调用方案,它通常包括通信协议和序
微服务 什么是微服务? 微服务是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务和服务之间采用轻量级的通信机制进行协作。每个服务可以被独立的部署到生产环境。 从单体应用到微服务 单体系统的缺点: 1. 修改一个小功能,就需要将整个系统重新部署上线,影响其他功能的运行; 2. 功能模块互相依赖,强耦合,扩展困难。如果出现性能瓶
分布式架构,微服务、限流、熔断.... 分布式架构,微服务、限流、熔断....
分布式事务 简介 事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务应该具有 4 个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为 ACID 特性。 分布式事务 分布式事务是指事务的参与者,支持事务的服务器,资源服务
分布式锁怎么实现? 一般实现分布式锁都有哪些方式?使用 Redis 如何设计分布式锁?使用 zk 来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高? Redis 分布式锁 Redis 分布式锁有 3 个重要的考量点:
互斥(只能有一个客户端获取锁);
不能死锁;
容错(只要大部分 Redis 节点创建了这把锁就可以); Redis 最普通的分