如何检查来自另一个微服务的用户是否存在
How to check the existence of a user from another microservice
想了解微服务架构,有这样一个问题:我有一个注册和发行代币的微服务,一个订单微服务,每个微服务都有自己的数据库。因此,在下订单时,我需要以某种方式检查传递的 id 的用户是否确实存在。
我考虑过 api 调用用户微服务,但我认为这不是个好主意,这将在微服务之间建立连接。
也有消息代理,但它们也不会在这里工作,因为如果用户微服务很忙,那么我们不会等待响应太久。
有什么好的提议吗?
我认为在典型的微服务架构中,您会有一个名为 API 网关 的单个 API,您的客户会调用该网关。该 API 网关负责按顺序调用您的微服务公开的每个其他 API。这样微服务就不会互相调用。
所以在你的情况下,我希望客户端(MVC 网站、Angular 网站、iOS 或 Android 应用程序、Blazor WASM 应用程序、桌面应用程序或其他)会调用您的网关 API,网关 API 将调用用户微服务并询问用户是否存在。然后,如果用户确实存在,网关 API 将调用订单微服务来下订单。然后它将 return 响应给客户端。
想了解微服务架构,有这样一个问题:我有一个注册和发行代币的微服务,一个订单微服务,每个微服务都有自己的数据库。因此,在下订单时,我需要以某种方式检查传递的 id 的用户是否确实存在。 我考虑过 api 调用用户微服务,但我认为这不是个好主意,这将在微服务之间建立连接。 也有消息代理,但它们也不会在这里工作,因为如果用户微服务很忙,那么我们不会等待响应太久。 有什么好的提议吗?
我认为在典型的微服务架构中,您会有一个名为 API 网关 的单个 API,您的客户会调用该网关。该 API 网关负责按顺序调用您的微服务公开的每个其他 API。这样微服务就不会互相调用。
所以在你的情况下,我希望客户端(MVC 网站、Angular 网站、iOS 或 Android 应用程序、Blazor WASM 应用程序、桌面应用程序或其他)会调用您的网关 API,网关 API 将调用用户微服务并询问用户是否存在。然后,如果用户确实存在,网关 API 将调用订单微服务来下订单。然后它将 return 响应给客户端。