gpt4 book ai didi

javascript - AngularJS - "Service coupling"与网络开销

转载 作者:行者123 更新时间:2023-11-27 23:48:30 25 4
gpt4 key购买 nike

所以我的前端页面需要来自促销、产品、制造商和零售商服务的数据——当然每个数据都包含一个后端 API

我应该...

A) 在前端(对每个服务)进行 4 个单独的调用以从 4 个位置获取数据?

或者

B) 对后端方法进行一次调用,该方法聚合来自所有 4 个服务的所有数据。当然,我也需要为此创建一个新的 AngularJS 服务

(a) 的优点是它避免了后端服务耦合——后端更加模块化,因为服务不需要相互通信。

缺点是前端的网络开销——四个调用而不是一个

执行此操作的正确或更 Angular 方法是什么?

最佳答案

这不是一个 Angular 问题,这是一个 SOA 问题。它是书中最古老的之一。答案是当然,这取决于情况。

服务粒度是迁移到面向服务的架构(AngularJS 迫使您采用这种架构)相关的最困难的问题之一。这归结为性能和服务可重用性之间的平衡行为。

与往常一样,在考虑性能优化时,请务必在对性能做出假设之前进行测试。一些测试可以起到很大的作用。您很可能会发现根本没有问题(这种情况经常发生)。

需要考虑的一些事情:

  1. AngularJS 和现代浏览器可以很好地处理多线程编程。它们可以同时向服务器打开相当多的请求(因浏览器而异)。
  2. 组合这些请求会增加它们不可缓存的可能性(您正在使用缓存 header ,对吗?)
  3. 如果您需要组合服务,那么在多个服务前面放置一个外观意味着您仍然可以在后端扩展它们(甚至可以在外观上缓存响应)。

关于javascript - AngularJS - "Service coupling"与网络开销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32936381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com