当使用许多web API服务时,是否有必要复制数据?

本文关键字:是否 复制 数据 许多 web 服务 API | 更新日期: 2023-09-27 18:16:57

我正在创建一个基于多个web API服务的架构,我正在寻找构建数据的最佳方法。当前结构中的数据正在被复制。

我有一个应用程序数据库和web API项目,它存储和管理公司内正在创建的所有应用程序。它包含一个名称和一个GUID。

使用web API服务检索和管理此信息。

我有另一个API服务和数据库来管理车辆类型。我遇到的问题是某些车辆类型只能由某些应用程序使用。正因为如此,车辆类型系统需要知道存在于应用程序数据库中的应用程序。例如,客户端可以发出get请求以查看某个应用程序可以访问的所有车辆类型。

在这个数据库中,我有三个表,车辆类型,应用程序,车辆类型应用程序链接。为了管理这个映射,我需要在车辆类型数据库中有一个完整的应用程序数据库副本。

这个复制感觉不太对。数据必须在多个地方进行管理,并保持同步。这也不是一个孤立的案例。随着公司基础设施的发展,许多其他服务将对产品表产生很大的依赖。我不愿意到处复制。

在这种情况下,你有什么最好的管理数据的方法吗?

当使用许多web API服务时,是否有必要复制数据?

我不会在车辆服务中嵌入应用程序知识。这是不可伸缩的

我也想知道为什么管理车辆类型不是单个车辆服务的范围。

如果这是一个REST服务,我会将车辆数据库划分为不同的资源/文件夹/url,以便应用程序可以请求他们有权访问的内容。HTTP GET查询的URL可能是https://host/vehicle/type/{type}

如果您想要强制执行应用程序的权限,可能要考虑的另一件事是基于角色的安全性。提供url,只给那些被允许使用的人访问这些资源和凭据。

听起来车辆服务是应用程序在事务中使用的参考数据。应用程序可以请求车辆的实例,但这不是"复制"。车辆服务仍然是真相的来源。