发现服务器允许客户端发现现有服务。它不依赖于固定的 url。 然而,具有路由功能的 api 网关也允许仅通过 url 联系服务。 在一种情况下和另一种情况下,客户端都依赖于 url,那么有什么区别?
最佳答案
注册表发现服务的目的是发现IP未知的服务并对其进行监控。
API 网关的目的是充当客户端的入口点。在将客户端重定向到适当的服务之前,它可以处理身份验证、日志记录、请求过滤等事务。
这些类型的服务具有不同的目的,并且通常一起工作,因此并不存在相互对立的情况。
例如,让我们想象一下有 5 个服务的以下场景:
- API 网关
- 注册表发现服务
- 身份验证服务
- 客户服务
- 添加服务
客户端将调用 API 网关。对于每个请求,API 网关都会验证该请求,如果未经过身份验证,它可能会将用户重定向到身份验证服务,如果经过身份验证,它会根据 url 模式将用户重定向到客户服务或添加服务。为了查找目标服务的实际地址,它使用注册表发现服务。
关于java - 注册表发现服务与 API 网关相比有何优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73537790/