聊聊 XA 方案
XA 是 X/Open CAE Specification (Distributed Transaction Processing)模型,它定义的 TM(Transaction Manager)与 RM(Resource Manager)之间进行通信的接口。 Java中 的 javax.transaction.xa.XAResource 定义了 XA 接口,它依赖数据库厂商对 jdbc-d...
XA 是 X/Open CAE Specification (Distributed Transaction Processing)模型,它定义的 TM(Transaction Manager)与 RM(Resource Manager)之间进行通信的接口。 Java中 的 javax.transaction.xa.XAResource 定义了 XA 接口,它依赖数据库厂商对 jdbc-d...
TCC 模型是把锁的粒度完全交给业务处理,它需要每个子事务业务都实现Try-Confirm / Cancel 接口。 TCC 模式本质也是 2PC ,只是 TCC 在应用层控制。 Try : 尝试执行业务 完成所有业务检查(一致性) 预留必须业务资源(准隔离性) Confirm : 确认执行业务...
Saga 是 30 年前一篇数据库伦理提到的一个概念。其核心思想是将长事务拆分为多个本地短事务,由 Saga 事务协调器协调,如果正常结束那就正常完成,如果某个步骤失败,则根据相反顺序一次调用补偿操作。 Saga 的组成如下: 每个 Saga 由一系列 sub-transaction Ti 组成 每个Ti 都有对应的补偿动作 Ci ,补偿动作用于撤销 Ti 造成的结果。这里的每...
Redis 可用的场景非常之多: 数据缓存 会话缓存 时效性数据 访问频率 计数器 社交列表 记录用户判定信息 交集、并集和差集 热门列表与排行榜 最新动态 消息队列 分布式锁 详细的介绍,可以看看如下文章: 《聊聊 Redis 使用场景》 《Redis 应用场景及实例》 《Redis 常见的应用场景解析》 《Red...
简单介绍 Netty 的核心组件? Netty 有如下六个核心组件: Bootstrap & ServerBootstrap Channel ChannelFuture EventLoop & EventLoopGroup ChannelHandler ChannelPipeline 2.1 Bootstrap & ServerB...
“RabbitMQ?”“Kafka?”“RocketMQ?”…在日常学习与开发过程中,我们常常听到消息队列这个关键词。我也在我的多篇文章中提到了这个概念。可能你是熟练使用消息队列的老手,又或者你是不懂消息队列的新手,不论你了不了解消息队列,本文都将带你搞懂消息队列的一些基本理论。如果你是老手,你可能从本文学到你之前不曾注意的一些关于消息队列的重要概念,如果你是新手,相信本文将是你打开消息队列...
使用布隆过滤器,快速过滤不存在的记录。 使用Redis的bitmap结构来实现布隆过滤器。 在Redis中建立数据缓存 将我们对Redis使用场景的理解尽量表达出来。以普通字符串的形式来存储。以一个hash来存储一条记录 缓存击穿:对不存在的数据也建立key。这些key都是经过布隆过滤器过滤的,所以一般不会太多缓存过期:将热点数据设置成永不过期,定期重建缓存。使用分布式锁重建缓存 ...
在 Spring Cloud 中,能够使用的注册中心,还是比较多的,如下: spring-cloud-netflix-eureka-server 和 spring-cloud-netflix-eureka-client ,基于 Eureka 实现。 spring-cloud-alibaba-nacos-discovery ,基于 Nacos 实现。 spring-cloud-...
在 Spring Cloud 中,能够使用的服务保证,如下: spring-cloud-netflix-hystrix ,基于 Hystrix 实现。 Resilience4j spring-cloud-alibaba-sentinel ,基于 Sentinel 实现。 为什么要使用服务保障? 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(R...
推荐阅读 《Redis 的内存优化》 redisObject 对象 缩减键值对象 共享对象池 字符串优化 编码优化 控制 key 的数量 🦅 一个 Redis 实例最多能存放多少的 keys?List、Set、Sorted Set 他们最多能存放多少元素? 一个 Redis 实例,最多能存放多少的 keys ,List、Set、Sorted Set 他们最多...