我想了解微服务架构,我有一个这样的问题:我有一个微服务用于注册和发布令牌,还有一个微服务用于订单,它们每个都有自己的数据库。因此,在下订单时,我需要以某种方式检查传递id的用户是否确实存在。我考虑过用户微服务的api调用,但我认为这不是一个好主意,这将在微服务之间创建连接。还有消息代理,但它们在这里也不起作用,因为如果用户微服务很忙,那么我们就不会等待很长时间的响应。有什么好的建议吗?
我认为在一个典型的微服务架构中,你会有一个单独的API,叫做API网关你的客户给你打电话。该API网关负责顺序调用微服务公开的每个其他API。这样,微服务就不会互相调用。
所以在你的情况下,我希望客户端(MVC网站,Angular网站,iOS或Android应用程序,Blazor WASM应用程序,桌面应用程序或其他)会调用你的网关API,网关API会调用用户微服务并询问用户是否存在。然后,如果用户确实存在,Gateway API将调用Orders微服务来下订单。然后,它将返回一个响应给客户端。