我们正在将单片应用程序迁移到微服务架构,并且旨在实现无服务器路径。我们在AWS lambda上开发了独立服务,UI用Angular编写。
有一些参考数据(来自外部源),我们需要有关获取此数据的最佳路径的建议。
例如:我们必须显示员工详细信息,并从服务中获取员工ID。要根据ID显示员工姓名,我们必须调用外部源。同样适用于公司名称等。
到目前为止,我们有两种方法。优缺点都有什么?我们应该考虑另一种方法吗?
方法1:我们将此服务(我们的微服务)用于服务层(AWS lambda)的服务(外部源)调用,并将完整的所需结果返回给UI进行显示。
方法2:我们将员工ID返回给UI,Angular UI调用外部源以显示所需格式的数据(显示名称和公司描述)。
从微服务最佳实践的角度来看,第一种方法更好。您将拥有一项服务,目的是处理您需要发送给客户端的所有数据。它可能是从外部或从其他服务获取数据,但您希望数据工作集中,避免客户端依赖于不同的服务。