我一直在使用 spring
,现在想要学习 spring boot
和微服务。我了解什么是 微服务
以及它的工作原理。在阅读文档时,我看到了许多与 spring boot
开发 微服务
相关的东西,但是我非常困惑。
我列出了以下系统和问题:
- Netflix Eureka - 我知道这是一个服务发现平台。
所有的
服务
都会注册到eureka
服务器上,而所有的微服务
都是eureka
客户端。我的疑问是,在没有API网关的情况下,这个服务注册表有什么用途?我想了解服务注册表的实际用途。 ZUULApi 网关- 我了解 ZUUL 可以用作 API 网关,它基本上是一个负载均衡器,调用对应于请求 URL 的适当 微服务。这个假设是正确的吗?API 网关会与 Eureka 进行交互以获取适当的微服务吗?
NGINX - 我读过 NGINX
还可以用作 API 网关?这可能吗?还有我在其他地方读到像 NGINX
可以用作服务注册表,作为 Eureka 的替代品!那么哪个是正确的?API 网关、服务注册表还是两者都可以?我知道 nginx
是一个 Web 服务器,并且反向代理可以强大配置。
AWS api gateway - 这也可以用作 ZUUL
的替代品吗?
RIBBON - ribbon
用于什么?我不明白!
AWS ALB- 这也可以用于负载均衡。因此,如果我们拥有 AWS ALB
,我们是否还需要 ZUUL?