RabbitMQ 简介
【简单】RabbitMQ 是什么?⭐
🎯 目标等级:L2 | ⏱ 建议用时:5 min | 🏷 标签:RabbitMQ / 基础概念
💎 关键结论
RabbitMQ 是基于 AMQP 协议、用 Erlang 实现的开源消息中间件,由 Broker 通过「交换机 + 绑定 + 队列」完成消息的接收、路由与存储。选它是因为投递可靠(Confirm + 持久化 + 仲裁队列)、路由灵活、延迟低,适合解耦、削峰、异步化等业务消息场景。
🎯 目标等级:L2 | ⏱ 建议用时:5 min | 🏷 标签:RabbitMQ / 基础概念
RabbitMQ 是基于 AMQP 协议、用 Erlang 实现的开源消息中间件,由 Broker 通过「交换机 + 绑定 + 队列」完成消息的接收、路由与存储。选它是因为投递可靠(Confirm + 持久化 + 仲裁队列)、路由灵活、延迟低,适合解耦、削峰、异步化等业务消息场景。
🎯 目标等级:L2 | ⏱ 建议用时:5 min | 🏷 标签:Dubbo / 概述
Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,核心提供三大能力:面向接口的 RPC、智能容错与负载均衡、服务自动注册与发现。理由:它以接口粒度屏蔽远程调用细节,并提供开箱即用的微服务治理能力。
口诀:调用靠代理、流量靠均衡、服务靠注册
关键词:RPC/负载均衡/服务发现
链路:接口代理屏蔽调用细节 → 注册中心连接提供者与消费者 → 容错与负载均衡保障高可用
🎯 目标等级:L2 | ⏱ 建议用时:12 min | 🏷 标签:服务治理 / 注册发现
Dubbo 的服务注册与发现是 URL 驱动的:Provider 启动时把自身地址 URL 上报注册中心,Consumer 订阅地址列表并构建本地 Invoker 缓存,注册中心实时推送变更、Consumer 据此重建列表。本质是维护 Directory(服务目录)的新鲜度——调用永远走本地缓存,注册中心只是控制面。

设计消息引擎的关键点:

🎯 目标等级:L2 | ⏱ 建议用时:8 min | 🏷 标签:Kafka / 基本概念
一句话:Kafka 是一个开源的分布式事件流平台,核心是「分区」这个有序不可变的日志单元。它快的根本原因是把消息系统做成了追加写的分布式日志,天然适合高吞吐场景。
🎯 目标等级:L1 | ⏱ 建议用时:5 min | 🏷 标签:分布式通信 / RPC 概念
RPC(Remote Procedure Call,远程过程调用)就是让你"像调用本地方法一样调用远程方法",把网络通信的复杂性藏起来。理由:它屏蔽了远程调用与本地调用的差异,开发者只需聚焦业务逻辑本身。
🎯 目标等级:L2 | ⏱ 建议用时:5 min | 🏷 标签:Dubbo / 序列化
Dubbo 默认用 Hessian2 序列化,跨语言场景选 Protobuf,纯 Java 追求极致性能选 Kryo/FST。因为序列化直接决定调用的性能与互通性,选型要看语言生态和性能诉求。
broker:Broker 模块(Broker 启动进程)client:消息客户端(生产者、消费者)common:公共包namesrv:NameServer 实现(NameServer 启动进程)remoting:远程通信模块(基于 Netty)store:消息存储实现tools:工具类、监控命令🎯 目标等级:L2 | ⏱ 建议用时:5 min | 🏷 标签:RocketMQ / 基础概念
RocketMQ 是源于阿里巴巴、后捐赠给 Apache 成为顶级项目的开源分布式消息中间件,由 NameServer、Broker、Producer、Consumer 四大组件组成,原生支持事务消息、顺序消息、延迟消息等金融级特性。因为它诞生于阿里交易场景,相比 Kafka 更强调可靠性和业务消息能力。