摘要: 提高代码质量!详解在Gradle项目中使用PMD的正确姿势 提升代码质量,轻松上手学起来 阅读全文
posted @ 2023-04-09 21:25 我有八千部下 阅读(399) 评论(0) 推荐(1) 编辑
摘要: 前言 我们从设计模式的6中原则和3种分类从整体认识下业界关注最多的23种设计模式。 设计模式是什么? 设计模式(Design,DP)是软件界的先辈四人帮(The Gang of Four:Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides)总结 阅读全文
posted @ 2023-04-05 20:28 我有八千部下 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 前言 本文分析多种分布式事务的解决方案2PC、3PC TCC、可靠消息服务、最大努力通知,事务消息等。讲述其执行流程、优缺点、适用场景以及引文具体实战例子。 名词解释 TM(transaction manager) 事务协调者 RM(resource manager) 资源管理者/事务参与者/业务服 阅读全文
posted @ 2023-04-05 20:25 我有八千部下 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 前言 本文讲述 ZooKeeper 集群架构特点、数据结构、事务ID、选主和ZAB协议具体执行过程。 服务保证 ZooKeeper 非常快速且非常简单。由于它的目标是构建更复杂的服务(如同步)的基础,因此它提供了一组保证: 【顺序一致性】来自客户端的更新将按发送顺序执行,因为只有唯一的主节点负责写请 阅读全文
posted @ 2023-04-05 20:15 我有八千部下 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 前言 TX-LCN 是一款国产分布式事务协调框架,框架其本身并不操作事务,而是基于对事务的协调从而达到事务一致性的效果。 本文讲解如何使用 Springboot 作为基础,来配置使用 TX-LCN。 需要 MySQL 和 Redis。 名词解释 TM (Tx-Manager / Transactio 阅读全文
posted @ 2023-04-05 20:12 我有八千部下 阅读(261) 评论(0) 推荐(1) 编辑
摘要: 前言 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。 Seata 配置非常灵活,支持多种注册中心、配置来源(配置中心)和持久化方式。本文选择 eurek 阅读全文
posted @ 2023-04-05 20:10 我有八千部下 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 前言 参考这一篇 在Linux部署Apollo配置中心 可以搭建出一套Apollo配置中心服务,我们在这里重点看看Springboot如何整合Apollo,将配置交给配置中心管理,并在修改后及时生效到服务上。 我们模拟工作中的开发(development,DEV)和生产(production,PRO 阅读全文
posted @ 2023-04-05 20:02 我有八千部下 阅读(1631) 评论(0) 推荐(0) 编辑
摘要: 前言 ElasticJob-Lite是集群环境下应用(比如SpringCloud微服务)任务调度的解决方案。 集群部署的时候,一个定时任务会有多个进程执行,如果不进行任何处理,会导致任务触发的时候每个进程重复执行一次。 解决办法有两种:一种是加锁,保证同时只有一个进程执行任务,比如用分布式锁,或者用 阅读全文
posted @ 2023-04-05 19:54 我有八千部下 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 前言 这篇是ShardingSphere-JDBC+Springboot+MybatisPlus+Druid分库分表的简单例子,我们用一个订单表为例,通过简单配置实现数据分片到多个数据库的多个表中。 主要配置和代码已经在文中给出,完整例子可以参考 GitHub - fruitbasket-litch 阅读全文
posted @ 2023-04-05 19:51 我有八千部下 阅读(625) 评论(0) 推荐(0) 编辑
摘要: 前言 公司游戏项目服务端运行过程中,依赖 Redis 保存游戏过程数据。与客户端一次交互会对 Redis 进行大量的操作,在内网开发环境下测试,一次操作开销在 1-2 ms,建立连接和网络开销累积在一起大大降低了响应速度,这种场景下可以使用 Redis Pipeline 进行优化。 Redis Pi 阅读全文
posted @ 2023-04-05 19:47 我有八千部下 阅读(895) 评论(0) 推荐(0) 编辑