摘要: 准确的讲,Redis 事务包含两种模式 : 事务模式 和 Lua 脚本。 先说结论: Redis 的事务模式具备如下特点: 保证隔离性; 无法保证持久性; 具备了一定的原子性,但不支持回滚; 一致性的概念有分歧,假设在一致性的核心是约束的语意下,Redis 的事务可以保证一致性。 但 Lua 脚本更 阅读全文
posted @ 2023-04-08 23:20 勇哥编程游记 阅读(795) 评论(0) 推荐(0) 编辑
摘要: RocketMQ 是大家耳熟能详的消息队列,开源项目 rocketmq-spring 可以帮助开发者在 Spring Boot 项目中快速整合 RocketMQ。 这篇文章会介绍 Spring Boot 项目使用 rocketmq-spring SDK 实现消息收发的操作流程,同时笔者会从开发者的角 阅读全文
posted @ 2023-04-02 14:38 勇哥编程游记 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 「重启程序」对我来讲,太熟悉了不过了,我很纠结,因为它能帮我解决问题,但出于程序员对于程序健壮的强迫症,我又本能的抗拒。 这篇文章, 我想分享 "工作十年,我对「重启程序」的认知升级过程",希望对大家有所启发。 1 一路重启 2010 - 2014 年 ,蛮幸运的,我经历了一家彩票网站重构的整个过程 阅读全文
posted @ 2023-03-21 14:49 勇哥编程游记 阅读(278) 评论(4) 推荐(1) 编辑
摘要: 谈到分库分表中间件时,我们自然而然的会想到 ShardingSphere-JDBC 。 这篇文章,我们聊聊 ShardingSphere-JDBC 相关知识点,并实战演示一番。 1 ShardingSphere 生态 Apache ShardingSphere 是一款分布式的数据库生态系统,它包含两 阅读全文
posted @ 2023-02-28 17:17 勇哥编程游记 阅读(2061) 评论(12) 推荐(11) 编辑
摘要: 聊聊流式计算吧 , 那一段经历于我而言很精彩,很有趣,想把这段经历分享给大家。 1 背景介绍 2014年,我在艺龙旅行网促销团队负责红包系统。 彼时,促销大战如火如荼,优惠券计算服务也成为艺龙促销业务中最重要的服务之一。 而优惠券计算服务正是采用当时大名鼎鼎的流式计算框架 Storm。 流式计算是利 阅读全文
posted @ 2023-01-20 21:36 勇哥编程游记 阅读(3336) 评论(8) 推荐(21) 编辑
摘要: RocketMQ 优异的性能表现,必然绕不开其优秀的存储模型 。 这篇文章,笔者按照自己的理解 , 尝试分析 RocketMQ 的存储模型,希望对大家有所启发。 1 整体概览 首先温习下 RocketMQ 架构。 整体架构中包含四种角色 : Producer :消息发布的角色,Producer 通过 阅读全文
posted @ 2022-12-30 17:49 勇哥编程游记 阅读(1618) 评论(6) 推荐(7) 编辑
摘要: 笔者是 RocketMQ 的忠实粉丝,在阅读源码的过程中,学习到了很多编程技巧。 这篇文章,笔者结合 RocketMQ 源码,分享并发编程三大神器的相关知识点。 1 CountDownLatch 实现网络同步请求 CountDownLatch 是一个同步工具类,用来协调多个线程之间的同步,它能够使一 阅读全文
posted @ 2022-11-27 12:52 勇哥编程游记 阅读(1083) 评论(0) 推荐(1) 编辑
摘要: 成都核酸检测系统“崩溃”事件,将东软推至风口浪尖,同时也在技术圈内引发了广泛的讨论。 开发一个不崩溃的核酸系统到底难不难 ? 这篇文章,勇哥想象自己是核酸系统架构师,谈谈自己对核酸系统的理解。 1 明确系统边界 作为架构师,首先需要明确系统边界。 核酸检测核心流程: 医护人员打开核酸系统的手机端应用 阅读全文
posted @ 2022-10-08 08:05 勇哥编程游记 阅读(2734) 评论(11) 推荐(7) 编辑
摘要: RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时、高可靠的消息发布与订阅服务。 这篇文章,笔者整理了 RocketMQ 源码中创建线程的几点技巧,希望大家读完之后,能够有所收获。 1 创建单线程 首先我们先温习下常用的创建单线程的两种方式: 实现 Runnable 阅读全文
posted @ 2022-09-08 09:11 勇哥编程游记 阅读(1089) 评论(2) 推荐(2) 编辑
摘要: 工作几年的程序员同学,有了一定的项目经验,对于编程也有了自己的理解,但他们偶尔也会感到困惑,不知道接下来该如何提升自己。 在笔者看来:"这个阶段的程序员最需要的是提升自身编程能力和视野高度,而学习开源项目是最有效的方法之一"。 这篇文章,笔者聊聊自己的学习开源项目的心得,希望对你有所帮助。 1 学会 阅读全文
posted @ 2022-08-01 09:00 勇哥编程游记 阅读(2458) 评论(2) 推荐(11) 编辑