【发布时间】:2022-01-25 05:00:53
【问题描述】:
我正在为我的公司处理一个旧项目,我发现了一个奇怪的代码实践。
我们有多个 API:
Account/CustomerInformations => Should return all information
Account/CustomerName => Return just name
Account/CustomerPhone => return just phone
在函数CustomerInformations() 的代码中,他们正在调用同一服务的其他API(微服务正在调用自己)(Account/CustomerName,Account/CustomerPhone),我觉得这很奇怪,因为我认为它不是一个很好的做法。
询问了架构师后,他给出的理由是,这是通过负载均衡器,让调用更快的唯一理由。
我认为我们应该调用一个Task来完成这项工作,而不是自己调用微服务。
在这种情况下最好的做法是什么?
【问题讨论】:
-
无需调用其他端点。 CostumerInformations 服务必须实现自己的逻辑来获取所有必需的信息,而不是依赖于其他两个微服务,因为其他微服务只有特定的功能和特定的目的。如果数据来自数据库或调用特定的其他微服务端点(不是您的服务端点),请编写您自己的查询获取数据。
标签: api rest asp.net-core microservices