angular - 如何在微服务架构中获取参考数据?
问题描述
我们正在将单体应用程序迁移到微服务架构,并打算走上无服务器的道路。我们在 AWS lambda 上开发了独立的服务,并且 UI 是用 Angular 编写的。
有一些参考数据(来自外部来源),我们需要有关获取这些数据的最佳路径的建议。
例如:我们必须显示员工详细信息,并从服务中获取员工 ID。要根据 ID 显示员工姓名,我们必须调用外部源。公司名称等也是如此。
到目前为止,我们有两种方法。优缺点都有什么?我们应该考虑另一种方法吗?
方法 1:我们在服务层(AWS lambda)对服务(外部源)调用执行此服务(我们的微服务),并将完整的理想结果返回给 UI 以进行显示。
方法 2:我们将员工 ID 返回给 UI,Angular UI 调用外部源以所需格式(显示名称和公司描述)显示数据。
解决方案
从微服务最佳实践的角度来看,第一种方法更好。您将拥有一项服务,旨在处理您需要发送给客户的所有数据。它可能从外部或其他服务获取数据,但您希望数据工作集中,避免客户端依赖不同的服务。
推荐阅读
- javascript - 如何在前端应用程序的端到端测试流程中测试 API?
- javascript - 在函数完成之前返回函数结果?
- c# - Does the assignment operator in c# take any other value other than bool in any scenario?
- http-status-code-302 - 接收 302 作为成功响应而不是失败
- java - 如何对带有通配符的文件进行布尔运算,例如带有内置库的“myDirectory\subFolder\TestFile*”?
- python - 在 Keras 中,如何使用 dot() 计算张量和常数矩阵的每一行之间的余弦接近度?
- python - Flask 尝试运行 python 脚本的内部服务器错误
- mysql - Drupal 8 数据库安装未连接到 docker mysql 容器
- odoo - odoo - 如何在视图中显示上下文?
- php - wordpress - 媒体库类别 URL 结构