摘要: 八股文 https://javaguide.cn/home.html#%E5%BF%85%E7%9C%8B%E4%B8%93%E6%A0%8F https://gitee.com/egege_gitee/system-design-primer/blob/master/README-zh-Hans. 阅读全文
posted @ 2025-02-19 02:18 程序员老徐 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 一、业务背景&挑战&目标 1.1.背景 每年节假日,微信红包的收发数量都会暴涨,尤以除夕为最。如此大规模、高峰值的业务需要,背后需要怎样的技术支撑?百亿级别的红包规模,如何保证并发性能与资金安全? 1.2.红包业务面临的挑战 微信红包(尤其是发在微信群里的红包,即群红包),业务形态上很类似网上的普通 阅读全文
posted @ 2025-02-17 15:56 程序员老徐 阅读(20) 评论(1) 推荐(1) 编辑
摘要: 一、消费方式 consumer采用pull(拉)的模式从broker中读取数据。 push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由broker决定的。它的目标是尽可能以最快的速度传递消息,但是这样容易造成consumer来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而pul 阅读全文
posted @ 2025-02-12 16:33 程序员老徐 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 一、整体架构图 二、核心业务系统介绍 2.1.接入层统一异常处理逻辑 2.2.邀请服务逻辑 2.3.权益发放服务 2.4.排行榜服务 2.4.1.榜单服务数据结构 数据结构分为两块: 配置中心数据,因为排行榜没有后台配置平台,只能将配置数据放到配置中心,具备实时更改配置的能力 数据表,主要是排行榜核 阅读全文
posted @ 2025-02-12 15:41 程序员老徐 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 一、Redis-cluster理论基础 1.1、为什么要实现redis-cluster 数据量考虑:主从复制集群、哨兵模式集群本质上还是redis单点存储所有数据,随着业务发展,数据量越来越大,单机redis存储会出现瓶颈,此时需要考虑分布式需求,把数据分布到不同的机器上. 网络流量:业务的流量已经 阅读全文
posted @ 2025-02-11 16:28 程序员老徐 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 一、redis内存 查看内存消耗: info memory # Memory #redis分配器分配的内存量,实际存储数据的内存总量 used_memory:2050616 #可读格式返回 used_memory_human:1.96M #操作系统角度,Redis进程占用内存 used_memory 阅读全文
posted @ 2025-02-11 15:59 程序员老徐 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 一、Redis实现阻塞队列 基于 Redis 的 list 实现队列的方式也有多种,先说第一种不推荐的方式,即使用LPUSH生产消息,然后 while(true) 中通过RPOP消费消息,这种方式的确可以实现,但是不断代码不断的轮询,势必会消耗一些系统的资源。 第二种方式也是不推荐的方式,也是通过 阅读全文
posted @ 2025-02-11 15:35 程序员老徐 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 一、跳表原理 1.1、什么是跳表 跳跃表是一种随机化的数据结构,在查找、插入和删除这些字典操作上,其效率可比拟于平衡二叉树(如红黑树),大多数操作只需要O(log n)平均时间,但它的代码以及原理更简单。跳跃表的定义如下: “Skip lists are data structures that u 阅读全文
posted @ 2025-02-11 14:39 程序员老徐 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 一、MySQL索引 1.1.索引简介 索引是一种数据库中的数据对象,它能够提高数据库中的数据检索速度.MySQL支持多种类型的索引,每种类型的索引有其特定的用途和性能特点. MySQL中的索引种类如下: B-Tree索引 数据结构B-Tree 根据叶子结点的存储数据的种类不同分为:聚簇索引(主键索引 阅读全文
posted @ 2025-02-11 14:22 程序员老徐 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 一、一致性Hash算法背景 我们有三台缓存服务器编号node0、node1、node2,现在有3000万个key,希望可以将这些个key均匀的缓存到三台机器上,你会想到什么方案呢? 我们可能首先想到的方案是:取模算法hash(key)% N,即:对key进行hash运算后取模,N是机器的数量; 这样 阅读全文
posted @ 2025-01-08 17:33 程序员老徐 阅读(106) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示