avatar
文章
377
标签
447
分类
12
首页
留言板
知识库
归档
标签
分类
关于
Dai Wei
搜索
首页
留言板
知识库
归档
标签
分类
关于

Dai Wei

消息队列专题:异步处理、削峰填谷、可靠性、顺序性、Kafka、RocketMQ 与 RabbitMQ
发表于2023-10-04|高性能
围绕“消息队列专题:异步处理、削峰填谷、可靠性、顺序性、Kafka、RocketMQ 与 RabbitMQ”,本文不按原目录复述,而是把内容整理为问题、机制、实践和取舍四层。阅读时可从“适合谁看、学习重点、建议阅读顺序、核心文章”几个切面建立自己的判断框架。 核心认识性能问题要同时观察吞吐、长尾延迟、错误率与资源饱和度。真正瓶颈可能位于入口分发、应用锁竞争、数据库访问、网络或异步消费,不能仅凭平均响应时间判断。 消息队列实现异步、解耦和削峰,也引入投递语义、重复、顺序与积压。可靠链路需要生产确认、Broker 持久化、消费幂等、死信和容量告警。 学习这类主题时,应先写清对象、边界和衡量指标,再讨论具体组件或技巧。同一方案放在不同流量、数据规模与团队能力下,结论可能相反;设计说明必须保留前提。 工程实践工程上先建立生产相近的负载与数据基线,再用执行计划、剖析和链路指标定位热点。每次只验证少量变量,复测收益并持续观察异常路径。 实施建议采用小步验证:记录变更前基线,一次只调整少量关键变量,通过日志、指标和测试判断收益。上线后继续观察长尾与异常路径,并把操作步骤沉淀成可执行预案。 ...
ZooKeeper 实战教程:Docker 部署、zkCli 命令、四字命令与 Curator 客户端
发表于2023-09-24|分布式系统
纸上 ZAB 不如动手起集群。本文整理 ZK 本地/容器部署、运维命令与 Curator 编码要点,帮助把概念验证落到可复现实验。 要解决什么问题概念学完需要可复现环境验证 Watcher、选举和锁行为。裸机安装繁琐,命令和监控接口不熟则故障排查只能重启试试。团队新人若只会 Curator 封装而不懂 zkCli,线上紧急排障会吃力。 核心原理Docker Compose 可快速起 ZK ensemble,注意 myid 与端口映射。zkCli 支持 create/get/set/watch/ls/delete;四字命令 ruok/stat/mntr/srvr 用于健康与指标。Curator 提供 ConnectionStateListener、PathChildrenCache、InterProcessMutex 等。连接串格式 host:port,chroot 可选。 方案权衡Docker 适合 dev/test,生产建议 StatefulSet 或裸机并持久化 dataD...
分布式锁实现方案详解:Redis、Redlock、ZooKeeper 与 Redisson 看门狗
发表于2023-09-14|分布式系统
选型分布式锁实现时,要比较的不只是”能不能锁”,还有失效语义、故障模型与运维成本。本文对比 Redis、Redlock、ZK 等主流实现及适用边界。 要解决什么问题MySQL 锁表或 GET_LOCK 性能差且连接语义与业务线程生命周期耦合;Redis SET NX EX 看似简单但主从异步复制可能在 failover 后丢锁;Redlock 多节点方案在学术界仍有争议;ZK 临时顺序节点依赖 session 超时,临界区过长会丢锁。实现选型必须对齐 SLA 和可接受的极端情况。 核心原理Redis 单实例:SET key random NX EX,释放 Lua 比较再 DEL。Redisson 看门狗后台续约。Redlock 向 N 个独立 master 加锁,过半成功且总耗时小于 TTL 才算成功。ZK 创建 EPHEMERAL_SEQUENTIAL 节点,监听前序节点释放实现公平锁;Curator InterProcessMutex 封装重试与 session 监听。DB 唯一索引插入也可作互斥但吞吐低。 方案权衡Redis 适合高 QPS、短临界区、可配合幂等兜底;Z...
ZAB 协议详解:ZooKeeper 原子广播、消息广播、崩溃恢复与 Leader 选举
发表于2023-09-04|分布式系统
ZAB 是 ZooKeeper 的共识内核,与 Raft 目标相近但用 epoch+zxid 描述进度。理解 ZAB 有助于读懂 ZK 运维指标和客户端 sync 语义。 要解决什么问题ZK 需全序广播写请求,Leader 切换后已提交事务不丢,Follower 必须追平到一致点才能对外服务读(若要求 strong read)。崩溃恢复与广播两阶段切换若理解错误,会误判”ZK 挂了”其实是 election。 核心原理崩溃恢复:选举 max(zxid) 的 Leader,Follower DIFF/TRUNC/SNAP 同步。广播:Leader 提案,Follower ACK 过半 commit。zxid 高 32 epoch 低 32 counter。与 Raft 类似,ZK 4.x 文档也强调与 Raft 的对比阅读。写必须经 Leader;顺序保证来自 ZAB quorum commit。 方案权衡ZAB 面向协调小数据,不适合 Kafka 级吞吐 log。与 Multi-Paxos 目标相近实现不同。读 sync() 可绑 strong consi...
Raft 算法详解:Leader 选举、日志复制、安全性与成员变更
发表于2023-08-25|分布式系统
Raft 把共识拆成选举、复制、安全三块,是理解 etcd、Consul 的钥匙。本文整理 term、commit index 与 joint consensus 等面试高频点。 要解决什么问题复制状态机需要所有存活节点按相同顺序应用命令。Leader 宕机要快速 failover;网络分区不能选出双 Leader 写入;已提交 entry 不能在新区 term 被覆盖。成员变更若一步到位,可能同时存在两个多数派。 核心原理Follower 超时变 Candidate,term 递增拉票,过半成 Leader。Leader 复制 log,matchIndex 过半 commit。Election restriction:只投给 log 至少和自己一样新的 Candidate。成员变更用 joint consensus:先 C_old,new 双 majority,再 C_new,避免 split brain。Snapshot 压缩历史 log。 方案权衡Raft 写吞吐受 Leader 限制;读可用 lease read 或 Follower read(需 stale 语义)...
Paxos 算法详解:Basic Paxos、Multi-Paxos、角色流程与 Raft 对比
发表于2023-08-15|分布式系统
Paxos 是共识算法的理论基石,术语密集但思想精炼。本文用 Proposer/Acceptor/Learner 流程视角重新组织,便于与 Raft 对照。 要解决什么问题多节点对同一槽位提案,在异步网络、丢包、节点故障下仍要达成一致,且已 chosen 的值不可被覆盖。无共识则 replicated log 顺序分裂,状态机应用 diverge。Paxos 给出在 crash 模型下的可行性,但工程落地曾长期被认为困难。 核心原理Basic Paxos:Prepare 阶段 Acceptor 承诺不接受更小 proposal number;Accept 阶段多数派 accept 则 value chosen。Learner 学习结果。Multi-Paxos 选 stable Leader 串行 propose,减少活锁。角色可合并;实际系统常用简化 Multi-Paxos。与 Raft 相比,Paxos 更泛化,Raft 用 strong Leader 约束换取可理解性。 方案权衡Paxos 论文 elegant 但 corner case 多,工程实现...
2026 最新微服务面试题总结:服务拆分、通信、数据一致性与可观测性
发表于2023-08-05|分布式系统
微服务不是”拆越小越好”。本文整理拆分、通信与治理相关的面试要点,突出边界划分与运维复杂度之间的平衡。 要解决什么问题团队常面临:如何拆服务、RPC 还是 MQ、数据如何归属、跨服务事务怎么办、如何灰度和观测。面试考察能否把架构决策与团队规模、发布频率、业务边界联系起来,而非背诵 Netflix 组件列表。 核心原理拆分按 bounded context 和数据归属,每个服务拥有自己的数据库,通过 API 暴露能力。同步 RPC 适合查询链路和低延迟协作;异步 MQ 适合解耦、削峰和最终一致。可观测性靠日志、指标、链路追踪;容错靠超时、熔断、限流、舱壁和幂等。康威定律意味着组织架构会影响服务边界。 方案权衡微服务换独立部署和弹性,换分布式测试、链路排障和基础设施成本。小团队慎拆;大团队需平台化网关、注册、CI/CD。Service Mesh 适合大规模多语言,小项目引入 Istio 可能 overkill。单体 modular monolith 有时是更优起点。 落地要点拆分前事件风暴画上下文;禁止跨服务直连 DB;契约测试+Consumer Driven Cont...
2026 最新分布式系统面试题总结:CAP、Raft、RPC、分布式锁、事务与 ID
发表于2023-07-26|分布式系统
面试复习需要”问题清单 + 答题结构”。本文归纳分布式方向的高频考点与回答框架,帮助把分散知识点串成面试官听得懂的两分钟叙述。 要解决什么问题分布式面试覆盖面广,从 CAP 到 Redis 锁到 Seata,考生易答散、缺场景、缺对比。面试官常追问”你们线上怎么选的、出过什么问题”,只背定义缺少项目映射会被认为没落地经验。 核心原理高频块:CAP/BASE 与 PACELC;Paxos/Raft/ZAB 定位;RPC vs HTTP;ID 方案对比;Redis 锁 owner/TTL/Redlock 争议;2PC/TCC/Saga/事务消息;ZK/etcd 协调语义。答题模板:一句话定义→核心流程→业务场景→方案对比→踩坑经验。每题准备 60 秒版和 3 分钟版。 方案权衡面试不必手推 Paxos 全程,但要讲清 Leader 选举和日志复制直觉。事务题强调业务可接受的一致性级别,而非罗列名词。微服务题要体现”拆分边界”和”数据归属”,避免只谈 Spring Cloud 组件名单。 落地...
Spring Cloud Gateway 面试题总结:路由、Predicate、Filter、限流熔断与工作原理
发表于2023-07-16|分布式系统
Spring Cloud Gateway 是 Spring 栈网关首选。本文归纳路由匹配、过滤器链、限流熔断与 Reactive 模型等面试考点及生产注意事项。 要解决什么问题面试问 Gateway 与 Zuul 差异、Route 组成、GlobalFilter 顺序、如何实现鉴权限流、为何不要阻塞 Netty event loop。生产上还遇到路由动态刷新失败、CORS 重复、StripPrefix 配置错误导致 404 等实际问题。 核心原理Route=Id+URI+Predicate+Filter。Predicate 组合 match;GatewayFilter 作用于 route,GlobalFilter 全局。基于 WebFlux+Netty 事件驱动。RequestRateLimiter 结合 Redis;Resilience4j 做 circuit breaker。LoadBalancerClientFilter 把 lb://service 解析为真实 host。Order 决定 filter 链顺序。 方案权衡Reactive ...
Dubbo 面试题总结:架构原理、SPI、负载均衡、服务治理与集群容错
发表于2023-07-07|分布式系统
Dubbo 是国内 Java RPC 代表框架之一。本文整理调用链、SPI 扩展点与负载/容错策略,便于面试和排查线上 RPC 异常。 要解决什么问题面试常问 Dubbo 一次调用经过哪些层、SPI 如何加载扩展、random 和 leastactive 区别、failfast 和 failsafe 适用场景。只会 xml/yml 配置而不懂 Invoker 链,排查超时和串包会很被动。 核心原理分层:business→rpc→remoting→cluster→registry。Export 打开 server port 注册;Refer 订阅 Directory 得 Invoker 列表。Cluster 合并 Invoker,LB 选 one,Filter 链拦截。SPI:META-INF/dubbo 下 key→impl,Adaptive 注解生成代理。Dubbo 3 推应用级服务发现和 Triple 协议。 方案权衡Dubbo 治理能力强,跨语言弱于 gRPC。注册中心 ZK vs Nacos 影响 metadata 推送模型。Generi...
1…101112…38
avatar
Dai Wei
软件开发者,记录技术探索与实践
文章
377
标签
447
分类
12
Follow Me
公告
分享软件开发、工程实践与持续学习中的思考。
最新文章
Trae + MiniMax 多场景实战:Redis 故障排查与跨语言重构2026-08-28
Kimi K3 实战:全栈项目、Java 项目改造与 3A 游戏 Demo2026-08-23
测试开发学习路线(2026 最新版):AI 时代如何从测试走向质量工程2026-08-20
IDEA + Qoder 插件多场景实战:接口优化与代码重构2026-08-18
DeepSeek V4 + Claude Code 实战:代码能力深度测评2026-08-14
分类
  • AI 编程28
  • Java103
  • 人工智能39
  • 分布式系统26
  • 学习路线5
  • 开发工具11
  • 数据库42
  • 系统设计26
标签
线程优先级 DBMS 大模型 Java基础 命令 Top K 安全 Loop 计算机网络 Raft 贪心 修饰权限 TCC 最终一致性 召回 网络编程三要素 服务调用 分布式理论 知识体系 复杂度 红黑树 Unsafe 面试 Java26 BASE 内存管理 语音 redo log Kimi NoSQL Seata CAS 优化器 RDB 线程通信 面试题 IDE 死锁 ZAB 编排
归档
  • 八月 2026 7
  • 七月 2026 7
  • 六月 2026 6
  • 五月 2026 7
  • 四月 2026 6
  • 三月 2026 4
  • 二月 2026 5
  • 一月 2026 5
网站信息
文章数目 :
377
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2017 - 2026 By Dai Wei框架 Hexo 8.1.2|主题 Butterfly 5.7.0
搜索
数据加载中