12 2023 档案

摘要:使用 JVM 进程缓存的优点就是没有网络开销,性能速度最快;缺点就是容量有限,无法共享;比较适合性能要求高,缓存数据量小的场景。如果我们自己实现 JVM 进程缓存的话,会使用到 Map 数据类型,相关的过期移除策略以及容量控制都得自己实现,比较麻烦。Caffeine 是一个基于 Java8 开发的提 阅读全文
posted @ 2023-12-31 15:23 乔京飞
摘要:上篇博客介绍了 Redis 哨兵集群的搭建,虽然已经解决了 master 在宕机后,与 slave 之间会自动切换的问题,但是其承载的数据量天花板仍然是单机的最大内存容量,无法承载更多的数据量。 本篇博客介绍 Redis 分片集群的搭建,集群内部拥有多个 master 节点,每个 master 存放 阅读全文
posted @ 2023-12-24 18:43 乔京飞
摘要:上篇博客介绍的 Redis 主从集群搭建,有一个缺点就是 master 和 slave 的角色是固定的,不会发生变化。一旦 master 节点宕机,那么集群就只能提供读服务,无法提供写服务。本篇博客介绍 Redis 哨兵集群的搭建,可以监控 Redis 集群的 master 和 slave 节点,最 阅读全文
posted @ 2023-12-23 21:16 乔京飞
摘要:单机版的 Redis 能够承载并发访问的能力有限,对于绝大多数的系统而言,都是读多写少,系统之所以宕机,一般都是因为并发读操作太高导致的宕机,因此搭建 Redis 主从集群,实现读写分离,是一种有效的提高并发访问能力的方案。 本篇博客介绍在一台虚拟机上,使用 docker-compose 模拟搭建一 阅读全文
posted @ 2023-12-19 23:10 乔京飞
摘要:Redis 是非常流行的缓存中间件,其具有功能强大和部署简单的优势,我们在 CentOS 上使用 yum 就能够在线安装 Redis。之所以要介绍使用 Docker 进行容器化部署 Redis ,主要原因是当前容器化部署是主流,而且能够保障服务器文件系统的整洁。 本篇博客主要介绍如何使用 docke 阅读全文
posted @ 2023-12-17 17:36 乔京飞
摘要:Seata 的 TCC 模式需要通过人工编码来实现数据的回滚恢复,有点麻烦,但是性能最高。TCC 是 3 个方法的首字母缩写,即 Try 方法、Confirm 方法、Cancel 方法。Try 方法进行资源的检查和冻结,Confirm 方法是当所有事务都成功后调用的方法,Cancel 方法是当整体事 阅读全文
posted @ 2023-12-05 22:45 乔京飞
摘要:有了上篇博客实现 XA 模式的基础,本篇博客在实现 AT 模式时,不需要修改任何代码,只需要增加一张数据库表,修改以下 application.yml 配置即可实现。AT 模式也是分两个阶段提交的事务模型,它缺弥补了 XA 模型中资源锁定周期过长的问题。 其实现的两个阶段的工作原理如下: 第一阶段注 阅读全文
posted @ 2023-12-04 22:39 乔京飞
摘要:上篇博客已经搭建了分布式事务 Seata 的集群,本篇博客主要介绍如何使用 Seata 的 XA 模式。 XA 模式的规范是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准,XA 模式规范描述了全局的 TM 与局部的 RM 阅读全文
posted @ 2023-12-03 14:30 乔京飞