首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微服务聚合器服务BFF

微服务聚合器服务BFF
EN

Stack Overflow用户
提问于 2020-09-28 19:16:16
回答 2查看 281关注 0票数 2

假设我有22个微服务。我在本地用docker开发的。

客户希望获取包含3种不同服务数据的产品模型数据,并将其聚合。我应该使用聚合器网关api还是从每个服务单独获取SPA。聚合器服务会耦合服务吗?

EN

回答 2

Stack Overflow用户

发布于 2020-09-29 00:47:25

这些微服务模式总是伴随着权衡。在这里,当你使用聚合器模式(前端的后端)时,你需要考虑的不仅仅是耦合问题。

以下是您在使用此模式之前需要考虑的一些要点。

  1. 延迟问题。如果你想让这个实现更好,没有任何延迟问题,那么你的服务和聚合器应该在相同的位置或相同的数据中心。避免来自aggregators.
  2. This的第三方调用可能会引入单点故障。确保您设计的服务是高度available.
  3. Implement的,弹性设计和超时,因为这个聚合器正在调用其他服务和获取数据。如果一个或多个服务调用花费的时间太长,它应该超时并返回部分数据集。考虑一下您的应用程序将如何处理聚合器的这个scenario
  4. Monitoring以及它的子服务调用。使用相关ID实现分布式跟踪以跟踪每个调用。
  5. 确保聚合器具有足够的性能来处理负载,并且可以进行扩展以满足预期的增长。

这些是我可以建议的最佳实践,您是可以根据您的系统需求和这些要点做出决定的最佳人选。

票数 4
EN

Stack Overflow用户

发布于 2021-08-11 17:15:39

使用BfF服务作为编排层来聚合对各种后端数据服务的调用有一些引人注目的优势。

  1. 它将降低您的SPA的数据访问区域的复杂性。
  2. 它还可以减少加载时间。
  3. 随着时间的推移,您的前端开发人员将不太可能在后端开发人员上被阻止,假设BfF由前端开发人员维护。

请看Consistency, Coupling, and Complexity at the Edge上的这篇文章,其中更详细地介绍了这一点,并提出了一些最佳实践,如GraphQL与REST。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64101136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档