1

我们有一个跨多个团队管理的应用程序,我们希望通过使用微前端方法在应用程序之间创建灵活性和隔离性,每个应用程序都有自己的商店。

一些应用程序使用相同的数据,我们希望减少从服务器获取的重复数据的数量。

我知道在这种情况下听起来我们应该使用一个商店,但是选择了所有准备好使用多个商店。

在商店之间同步数据的最佳方式应该是什么以及如何?

几点:

  • 所有数据均来自我们的后端服务
  • 数据结构相同,但并非所有应用程序都使用相同的数据,有些应用程序使用数据的子集
  • 为了减少 API 调用的重复,我们希望“小型存储”能够同步来自“主”存储的数据
4

1 回答 1

0

正如@estus 注意到的

数据结构是相同的,但并非所有应用程序都使用相同的数据,有些应用程序使用数据的子集——是的,这看起来是单个商店的一个很好的用例。

...但对我来说,这是 graphQL/Apollo 的完美案例

您可以将数据获取(甚至整个本地应用程序状态)移动/委托给一个“引擎”,它对所有应用程序部分(相同的 API 端点)的工作方式完全相同。

这种方法有很多好处:

  • 从应用程序状态中分离数据(-s);
  • 缓存和查询批处理(不仅删除重复,而且将许多查询“粘合”在一个中);
  • 缓存策略(仅网络,仅缓存);
  • API 拼接(未来的扩展,包装外部服务)...

Apollo有一个不错的启动器(包含 redux 部分)。

PS。Apollo 可以使用 REST API

于 2018-11-18T13:39:33.810 回答