我有一个 Web 应用程序,它使用微服务架构和 UI 服务将前端与业务服务(如 API 网关)解耦。我希望 UI 使用相当精细的服务,因此每个控件只需要绑定到简单且相关的数据。
但是在实践中,当 UI 服务需要满足请求时,它会从不一定具有相同粒度级别的微服务中请求相关数据。因此,每次更新一个简单的 UI 控件时,底层业务服务(以及其下的 DAO)都会检索更多实质性的数据对象。
这是微服务的典型情况吗?抛开缓存不谈,如果不在微服务 API 中引入大量细粒度的方法(感觉就像将业务服务接口与 UI 紧密耦合),我看不出如何避免它。或者,使用 UI 服务减少粒度会更好,并允许更大的 DTO 进入网页的 Javascript 吗?