在 Java 的 Dubbo 架构中,注册中心(Registry) 是非常核心的一部分。简单来说:Dubbo 之所以需要注册中心,是为了解决“服务越来越多以后,怎么知道谁在、谁能调、怎么调”的问题。
下面从“没有注册中心会怎样”和“注册中心解决了什么问题”两个角度说明。
假设有:
// 消费者直接写死提供者地址
ReferenceConfig<UserService> reference = new ReferenceConfig<>();
reference.setUrl("dubbo://192.168.1.10:20880/com.xxx.UserService");
问题:
➡️ 完全不可用于生产环境
Provider 启动后:
Consumer 启动后:
Provider → Registry ← Consumer
✅ 新增 / 下线机器,自动感知
这是人工配置永远做不到的
没有注册中心:
Consumer 依赖 Provider 的具体地址
有注册中心:
Consumer 只依赖“接口”
Consumer → 接口
Provider → 接口
Registry → 桥梁
➡️ 服务之间彻底解耦
注册中心不只是“电话簿”,还是 服务治理中心:
没有注册中心,这些能力都无法实现。
| 注册中心 | 特点 |
|---|---|
| Zookeeper | 最经典,强一致 |
| Nacos | 国内最流行,支持配置中心 |
| Redis | 简单但不推荐生产 |
| Consul | 多数据中心支持 |
Dubbo 要注册中心,是因为在分布式系统中,服务提供者和服务消费者必须“动态、自动、可靠”地互相发现,而不是靠人去记 IP。
如果你愿意,我也可以:
你想看哪一个?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。