gpt4 book ai didi

database - 对 dev 和 prod 数据库使用不同的 ID 范围

转载 作者:搜寻专家 更新时间:2023-10-30 20:27:14 25 4
gpt4 key购买 nike

我正在处理具有大量集成任务的 Web 服务。我们将我们的服务与数十个其他服务连接起来,每个服务都有自己的持久存储。当然,我们有几个不同的环境用于开发、阶段和生产目的。每个集成服务至少有两个环境:dev 和 prod。我考虑了两种可靠地分离环境的方法:

第一个是为开发和(阶段+生产)电路使用两个不同的数据库。这种方法允许每个域对象只有一个 ID 序列,因此不会在第三方服务中发生冲突。优点:简单。缺点:从阶段到产品数据库的危险访问。

第二种是使用三个不同的数据库,并为用于集成的对象的主键(例如用户pk、订单号等)保留范围。在这种情况下,我们将来自不稳定阶段环境的访问限制为仅对阶段 DB 的访问,并防止保留范围内的任何冲突。

但是使用保留范围或 ID 的想法对我来说似乎很奇怪。有什么建议吗?

UPD:让我用另一种方式澄清我的情况。对于每个第三方服务生产环境,我都有两个环境:舞台和生产。因此,如果我的 prod 和 stage envs 有两个不同的数据库,而没有指定从我这边传输到第三方服务的对象 ID 的非交叉范围,那么在第三方服务端我的 stage 和 prod 环境之间就会发生冲突。我应该为阶段和生产环境使用一个数据库还是引入一系列 ID?

最佳答案

为什么stage和prod在同一个数据库中?我一直有三个数据库,dev、stage 和 prod,每个域对象都有一个 ID 序列。

这使阶段和生产在物理上分开。

如果不出意外,您还可以如何允许在阶段验证新的数据库更改而不将它们(未经测试)应用于产品?

关于database - 对 dev 和 prod 数据库使用不同的 ID 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26423980/

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