创建托管数据库时,每个应用程序是否应该有一个实例?

创建托管数据库时,每个应用程序是否应该有一个实例?

假设我有 10 个不同的应用程序,它们都具有 postgresql 数据库依赖项,并且必须使用 Azure 托管 postgresql 实例将这些应用程序部署到 Azure 上。为每个应用程序和每个环境(开发、暂存、生产)创建一个托管数据库实例(10 x 3 = 30 个实例)是最佳做法吗?还是我应该为每个环境创建一个更大的托管 postgresql 实例?这样,我只有三个托管数据库实例(开发、暂存、生产)

我关心的是性能、安全性和可维护性。总体而言是最佳实践。

答案1

每种方法都有优点和缺点。请参阅我应该为所有应用程序建立一个 MySQL 实例,还是为每个应用程序建立一个实例?

我用“混合”方法取得了很好的经验:

  • 开发和准备阶段可以共享同一个实例
  • 生产始终在单独的实例上(但可能在同一个实例上有多个生产应用程序)
  • 低流量/低使用率/新应用程序默认在共享实例上运行
  • 一旦您面临高使用率应用程序,和/或开始调查性能问题,请创建一个专用实例并将应用程序移到那里
  • 对于安全问题或数据库版本冲突也是如此(两个应用程序依赖于不同的数据库版本)

一般来说,我认为没有适合所有场景的“最佳实践”。我会从一个简单的设置开始(即只有几个实例),然后在需要时进行改进。

相关内容