在微服务应用中,服务的发现有两种形式:
- 客户端发现
- 服务端发现
客户端发现
这里的注册中心其实就相当于青楼的老鸨,A 是嫖客,B 是小姐。这样一比喻相信各位老司机都知道三者之间的交互逻辑了。
客户端发现就是当 A 需要调用 B 服务时,请求注册中心(B 服务在启动时会将信息注册到注册中心),注册中心将一份完整的可用服务列表返回给 A 服务,A 服务自行决定使用哪个 B 服务。
特点
- 简单直接,不需要代理的介入
- 客户端(A)知道所有实际可用的服务地址
- 客户端(A)需要自己实现负载均衡逻辑
使用客户端发现的例子
- Eureka
服务端发现
服务端发现相对于客户端发现,多了一个代理,代理帮 A 从众多的 B 中挑选一个 B。
特点
- 由于代理的介入,服务(B)与注册中心,对 A 是不可见的
使用服务端发现的例子
- Nginx
- ZooKeeper
- Kubernetes
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于