logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

分库分表ShardingSphere<二> _ 示例

一、分库分表实例1. 依赖jar包注意:依赖druid,需要使用第三方连接池:com.alibaba.druid.pool.DruidDataSource<dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-start

#java#数据库
Hystrix实现熔断降级

目录一、Hystrix执行过程二、Hystrix熔断机制1. 熔断原理2.HystrixCircuitBreakerImpl源码解析3. 熔断器开关状态4. 采样统计三、配置参数四、参考资料一、Hystrix执行过程step1:每次调用创建一个新的HystrixCommand,把依赖调用封装在run()方法中。step2:执行execute()/queue做同步或异步调用。step3:判断熔断器(

#spring cloud
应用级限流 — Guava的RateLimiter

一、GuavaGuava被Google的Java项目广泛依赖的核心库,是个工具包,集成集合、缓存、并发等相关工具。作为缓存,是全内存本地缓存且线程安全;作为并发,提供的RateLimiter限流是通过令牌桶算法实现限流。本章使用限流工具类RateLimiter提供全局限流或平滑某接口的请求数。二、RateLimiter1. 测试SmoothBurstypackage com.common.inst

#java
分库分表ShardingSphere<一> _ 概念

目录一、ShardingSphere介绍1.ShardingSphere-JDBC2.ShardingSphere-Proxy3.ShardingSphere-Sidecar4. 三种区别5. 混合架构JDBC +Proxy​二、数据库拆分1. 垂直分库2. 水平分库3. 垂直分表4. 水平分表5. 总结三、ShardingSphere分库分表相关概念1. 逻辑表2. 真实表3. 数据节点4. 绑

#分布式#数据库#big data
分库分表ShardingSphere<四> _ 读写分离

目录一、读写分离配置二、验证读写分离1. 写验证2. 读验证三、强制读取主库四、参考资料一、读写分离配置注意是分库分表 + 读写分离的配置。ShardingSphere的版本3.x、4.0.1、4.1.1、5.0.0-alpha都存在很大的配置差异,这里使用4.1.1的配置。其中多从库负载均衡算法类型,可选值:ROUND_ROBIN(轮询)、RANDOM(随机)、WEIGHT(权重)。spring

#java#后端#mysql +1
分库分表ShardingSphere<三> _ 分布式事务

一、分布式事务ShardingSphere提供三种事务类型:LOCAL(默认)、XA 和 BASE。见枚举类org.apache.shardingsphere.transaction.core.TransactionType。1. LOCAL事务支持:单库事务(可分表);因逻辑异常导致的跨库事务(如:同一事务中,跨两个库更新。更新完毕后,抛出空指针,则两个库都能够回滚)不支持:因网络、硬件异常导致

#数据库#java
Lock锁<二> _ 重入锁/读写锁

目录一、重入锁ReentrantLock1. 实现锁重进入2. 获取公平锁与非公平锁的区别二、读写锁ReentrantReadWriteLock1.ReentrantReadWriteLock的API2. 读写状态设计3. 写锁的获取与释放4.读锁的获取与释放5. 写锁降级三、参考资料一、重入锁ReentrantLock重入锁指线程获得锁后能够再次获取该锁而线程不被阻塞。synchronized关

#java
ConcurrentHashMap的实现原理

目录一、为什么用ConcurrentHashMap?二、ConcurrentHashMap结构及初始化1.ConcurrentHashMap结构2. 初始化三、ConcurrentHashMap的API1. put()源码2. get()源码四、参考资料一、为什么用ConcurrentHashMap?ConcurrentHashMap线程安全且高效的操作,如下图对比所示。而HashMap非线程安全

#java
Gateway网关限流

一、常见限流场景缓存、降级、限流被称为高并发、分布式系统中经常提及的话题。这里讨论网关限流。1.1 限流对象a):请求频率限流(Request rate limiting):限制某个接口的一分钟内的请求数b):并发量限流(Concurrent requests limiting):限制某个服务的处理请求数c):传输速率限流(Transmission rate limiting):限制下载文件速率d

#java#spring#spring boot
到底了