摘要: 这个问题很微妙,可能这位同学内心深处,觉得 Redis 是所有应用缓存的标配。 缓存的世界很广阔,对于应用系统来讲,我们经常将缓存划分为本地缓存和分布式缓存。 本地缓存 :应用中的缓存组件,缓存组件和应用在同一进程中,缓存的读写非常快,没有网络开销。但各应用或集群的各节点都需要维护自己的单独缓存,无 阅读全文
posted @ 2023-05-07 18:41 勇哥编程游记 阅读(760) 评论(3) 推荐(1) 编辑
摘要: RocketMQ 支持两种消息模式:集群消费( Clustering )和广播消费( Broadcasting )。 集群消费:同一 Topic 下的一条消息只会被同一消费组中的一个消费者消费。也就是说,消息被负载均衡到了同一个消费组的多个消费者实例上。 广播消费:当使用广播消费模式时,每条消息推送 阅读全文
posted @ 2023-05-01 22:21 勇哥编程游记 阅读(1379) 评论(0) 推荐(4) 编辑
摘要: 在中国的 IT 环境里,大多数场景下,学习算法的目的在于通过笔试算法题。 但算法书林林总总,有时候乱花渐欲迷人眼。 杜甫有诗云:读书破万卷,下笔如有神。不管选择哪本书,只要深入学习,分层次,逐层进阶,一定可以将算法攻克。 笔者强烈推荐一个 Github 开源项目 LeetCode-Go,你不仅可以把 阅读全文
posted @ 2023-04-20 17:37 勇哥编程游记 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 布隆过滤器是一个精巧而且经典的数据结构。 你可能没想到: RocketMQ、 Hbase 、Cassandra 、LevelDB 、RocksDB 这些知名项目中都有布隆过滤器的身影。 对于后端程序员来讲,学习和理解布隆过滤器有很大的必要性。来吧,我们一起品味布隆过滤器的设计之美。 1 缓存穿透 我 阅读全文
posted @ 2023-04-14 22:57 勇哥编程游记 阅读(519) 评论(0) 推荐(1) 编辑
摘要: 准确的讲,Redis 事务包含两种模式 : 事务模式 和 Lua 脚本。 先说结论: Redis 的事务模式具备如下特点: 保证隔离性; 无法保证持久性; 具备了一定的原子性,但不支持回滚; 一致性的概念有分歧,假设在一致性的核心是约束的语意下,Redis 的事务可以保证一致性。 但 Lua 脚本更 阅读全文
posted @ 2023-04-08 23:21 勇哥编程游记 阅读(488) 评论(0) 推荐(0) 编辑
摘要: RocketMQ 是大家耳熟能详的消息队列,开源项目 rocketmq-spring 可以帮助开发者在 Spring Boot 项目中快速整合 RocketMQ。 这篇文章会介绍 Spring Boot 项目使用 rocketmq-spring SDK 实现消息收发的操作流程,同时笔者会从开发者的角 阅读全文
posted @ 2023-04-02 14:39 勇哥编程游记 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 「重启程序」对我来讲,太熟悉了不过了,我很纠结,因为它能帮我解决问题,但出于程序员对于程序健壮的强迫症,我又本能的抗拒。 这篇文章, 我想分享 "工作十年,我对「重启程序」的认知升级过程",希望对大家有所启发。 1 一路重启 2010 - 2014 年 ,蛮幸运的,我经历了一家彩票网站重构的整个过程 阅读全文
posted @ 2023-03-21 14:49 勇哥编程游记 阅读(268) 评论(4) 推荐(1) 编辑
摘要: 谈到分库分表中间件时,我们自然而然的会想到 ShardingSphere-JDBC 。 这篇文章,我们聊聊 ShardingSphere-JDBC 相关知识点,并实战演示一番。 1 ShardingSphere 生态 Apache ShardingSphere 是一款分布式的数据库生态系统,它包含两 阅读全文
posted @ 2023-02-28 17:17 勇哥编程游记 阅读(1693) 评论(12) 推荐(11) 编辑
摘要: 聊聊流式计算吧 , 那一段经历于我而言很精彩,很有趣,想把这段经历分享给大家。 1 背景介绍 2014年,我在艺龙旅行网促销团队负责红包系统。 彼时,促销大战如火如荼,优惠券计算服务也成为艺龙促销业务中最重要的服务之一。 而优惠券计算服务正是采用当时大名鼎鼎的流式计算框架 Storm。 流式计算是利 阅读全文
posted @ 2023-01-20 21:36 勇哥编程游记 阅读(3172) 评论(8) 推荐(21) 编辑
摘要: RocketMQ 优异的性能表现,必然绕不开其优秀的存储模型 。 这篇文章,笔者按照自己的理解 , 尝试分析 RocketMQ 的存储模型,希望对大家有所启发。 1 整体概览 首先温习下 RocketMQ 架构。 整体架构中包含四种角色 : Producer :消息发布的角色,Producer 通过 阅读全文
posted @ 2022-12-30 17:49 勇哥编程游记 阅读(1607) 评论(6) 推荐(7) 编辑