️公众号月伴飞鱼️
关于我
联系作者
关于网站
我的掘金
我的公众号
美团技术
有赞技术
得物技术
AI相关
AIGC
ChatGPT
Dify
Ollama
Sora
提示词工程
Web3相关
MetaMask
以太坊
区块链
业务相关
优惠券业务
广告业务
推荐业务
用户增长
中间件
Dubbo
Elasticsearch
Netty
Solr
ZooKeeper
代码整洁
CodeReview
Redis开发规范
代码重构
公众号文章
Disruptor框架
ElasticSearch深度分页
KAFKA高可用
MySQL锁表
Redis延时队列
RocketMQ事务消息
RocketMQ延时消息
RocketMQ消息重试
RocketMQ负载均衡
RocketMQ顺序消息
Tomcat线程池
Web实时通信
动态代理
幂等性设计
架构设计之CQRS
正则表达式
泛型策略模式
缓存一致性
缓存常见问题
领域设计之仓储模式
领域设计之聚合
前端相关
CSS
React
Vue
小程序
基础知识
JVM
分布式
并发编程
爬虫知识
设计模式
大数据相关
DataX
DolphinScheduler
Doris
Flink
Hadoop
Hive
SQOOP
Spark
大数据基础
学习专栏
22讲通关Go语言
23讲搞定后台架构实战
RPC实战与核心原理
从0开始学大数据
从0开始学架构
代码之丑
大厂晋升指南
如何成为学习高手
如何设计一个秒杀系统
架构设计面试精讲
程序员工作法
给程序员的职场情商课
高并发架构实战课
学习书籍
人物书籍
我在北京送快递
历史书籍
孙子兵法
明朝那些事儿
心理书籍
认知觉醒
技能书籍
英语魔法师之语法俱乐部
高效能人士的七个习惯
文学书籍
你当像鸟飞往你的山
当下的力量
活着
编程书籍
Effective Java
HBase不睡觉书
Java并发编程实战
Java并发编程的艺术
Java开发手册
MySQL技术内幕
Redis设计与实现
亿级流量网站架构核心技术
从零开始读懂Web3
代码整洁之道
大型网站技术架构
大型网站系统
深入理解Java虚拟机
程序员修炼之道
程序员必读之软件架构
重构改善既有代码的设计
工作相关
公司相关
远程工作
工具相关
Anki
实用工具
开发工具
成长相关
工作相关
技术学习
电影推荐
纪录片推荐
面试相关
数据库
ClickHouse
DRDS
HBase
MongoDB
MySQL
Redis
SQLite
TIDB
文章学习
大厂文章
服务器
Docker
Nginx
Tomcat
运维知识
架构相关
DDD
架构图
架构学习
系统保障
系统性能
系统设计
框架相关
Antlr4
Apollo
Aviator
Caffeine
Canal
Drools
Eureka
Feign
Guava
Hystrix
JWT
MyBatis
Nacos
RPC框架
Redisson
Seata
Sentinel
ShardingSphere
Spring
SpringCloud
Thrift
WebRTC
XXLJOB
开源框架
消息队列
KAFKA
RabbitMQ
RocketMQ
源码相关
RocketMQ
SpringBoot
Spring
算法相关
LeetCode
剑指OFFER
算法知识
面试算法
系统设计
12306系统
广告系统
推荐系统
榜单系统
消息队列
登录系统
短链系统
社区系统
秒杀系统
红包系统
订单系统
编程语言
Go基础
Java基础
Python基础
英语相关
老友记
第一季
第三季
第五季
雅思
剑桥雅思听力真题15
剑桥雅思听力真题16
剑桥雅思听力真题18
剑桥雅思听力真题4
计算机基础
Linux
操作系统
数据结构
网络基础
认知相关
保持人间清醒
停止比较
利己心态
告别胡思乱想
如何自律
学习冥想
摆脱内耗
缓解负面情绪
走出孤独
资料分享
其他书籍
工具破解
编程书籍
编程课程
面试题相关
JVM面试真题
MySQL面试真题
Redis面试真题
并发编程面试真题
操作系统面试真题
数据结构面试真题
计算机网络面试真题
缓存常见问题
为什么使用缓存 在高并发请求时,我们会频繁提到使用缓存技术,最直接的原因是: 磁盘IO及网络开销是直接请求内存IO的千百上千倍。 做个简单计算,如果我们需要某个数据,该数据从数据库磁盘读出来需要0.0045S。 经过网络请求传输需要0.0005S,那么每个请求完成最少需要0.005S。 ...
2024-10-19
公众号文章
Disruptor框架
前言 Disruptor是一个开源框架,研发的初衷是为了解决高并发下队列锁的问题。 最早由LMAX提出并使用,能够在无锁的情况下实现队列的并发操作,并号称能够在一个线程里每秒处理6百万笔订单。 官网:http://lmax-exchange.github.io/disruptor/ 目前,包括 ...
2024-10-17
公众号文章
MySQL锁表
MySQL表的结构修改往往伴随着表级锁的问题。 特别是对于那些数据量较大的表,这会对业务系统的性能产生显著影响。 通过优化表结构修改的操作,开发者可以避免或最小化锁表时间,从而保证系统的正常运行。 表级锁介绍 表级锁指在执行某些操作时,为了保证数据的一致性,对整个表加锁。 具体来说: 当 ...
2024-10-15
公众号文章
泛型策略模式
前言 之前设计过一个高扩展的系统,其中主要用的设计模式思想是:泛型策略模式+泛型模版模式。 这篇文章先介绍一下泛型策略模式的使用! 策略模式 策略模式主要用于某个对象或场景可能存在多种不同的行为的场景,可能是不同的业务逻辑,可能是不同的算法。 策略模式有三个主要组成部分: 策略接口: 定义所 ...
2024-10-14
公众号文章
动态代理
代理模式 代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象。 这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。 一个比方:在租房的时候,有的人会通过房东直租,有的人会通过中介租房。 这两种情况哪种比较方便呢? 当然是通过中介更加 ...
2024-10-12
公众号文章
ElasticSearch深度分页
前言 Elasticsearch 是一个实时的分布式搜索与分析引擎,在使用过程中,有一些典型的使用场景,比如分页、遍历等。 在使用关系型数据库中,我们被告知要注意甚至被明确禁止使用深度分页。 同理,在 Elasticsearch 中,也应该尽量避免使用深度分页。 这篇文章主要介绍 Elast ...
2024-10-11
公众号文章
缓存一致性
方案分析 更新缓存策略方式常见的有下面几种: 先更新缓存,再更新数据库 先更新数据库,再更新缓存 先删除缓存,再更新数据库 先更新数据库,再删除缓存 下面一一介绍! 方案一:更新缓存,更新数据库 这种方式可轻易排除,因为如果先更新缓存成功,但是数据库更新失败,则肯定会造成数据不一致。 方案二 ...
2024-10-10
公众号文章
领域设计之仓储模式
配合以下文章一起看: 领域设计之理解聚合与聚合根! 仓储就类似于仓库管理员,它是聚合的管理。 仓储介于领域模型和数据模型之间: 主要用于聚合的持久化和检索。 它隔离了领域模型和数据模型,以便我们关注于领域模型而不需要考虑如何进行持久化。 为什么要用仓储 解耦领域层和基础层 DDD严格的分 ...
2024-09-23
公众号文章
架构设计之CQRS
CQRS叫命令查询职责分离,事实上就是读写分离的意思。 不过这里的读写分离和我们通常所理解的数据库级别的读写分离是两个不同的概念。 CQRS指的读写分离是指在应用程序内部的代码级别的读写分离。 在本文中,我将对此做出详细解释。 CQS思想 CQS:命令和查询分离:Command and Q ...
2024-09-17
公众号文章
领域设计之聚合
数据驱动建模设计举例 假设有如下几张表: order(订单)和order_detail(订单明细) product(商品)和product_comment(商品评论) 正常来说,从表的设计看,能知道: order与order_detail之间肯定是一对多的关系。 product与pro ...
2024-09-11
公众号文章
<
1
2