一个Web应用程序中的多个数据库连接是好还是坏?

时间:2015-08-07 06:51:34

标签: php mysql

对于有关数据库连接问题的最佳解决方案,我处于两难境地。情况如下: 我创建了不同的Web应用程序,其他服务提供短信服务。短信服务需要短信发送确认。这是通过sms服务的回调来完成的,该服务将所有Web应用程序的报告发送到同一地址,并按特定的应用程序ID分隔每个sms报告。

不同的方法是:

  • 为特定地址创建一个Web应用程序,然后根据appilication id打开相应db的数据库连接并插入数据。
  • 为特定地址和一个小数据库创建一个Web应用程序,我应该存储所有应用程序的所有短信传递数据。每个Web应用程序都应该创建一个与小型数据库的新数据库连接,以便在需要时获取相关数据。

第一种方法是更容易实现,但我担心应用程序必须持久存在的不同数据库连接的数量。第二种方法对我来说有点复杂,但避免了数据库连接问题。我不知道多个数据库连接问题是否足以让我进入第二种方法。 我将非常感谢您的经验或任何其他解决方法的任何建议。

2 个答案:

答案 0 :(得分:1)

过早优化是万恶之源。从您认为简单易用的东西开始。如果您担心,请对其进行基准测试,并确保其符合预期的负载模式。

您没有说明您的预期负载(例如,请求数/秒)。假设您使用PHP和MySQL,我的预感是第一个简单的方法将起作用。 PHP不会在单个请求的范围之外保持与MySQL的连接(除非你正在做一些你真的不应该做的事情)并且在MySQL中打开/关闭连接的开销相当低。 MySQL也能够处理大量连接(当然,取决于配置)。

答案 1 :(得分:0)

我在其中一个项目中使用了第三种方法。 我会根据你的项目来解释它。 我有一个短信发送通知数据库 sms_delivery 。我的服务只连接到那个。 我为每个应用程序 app1,app2等都有一个数据库。 然后我在 sms_delivery 数据库中创建了一个触发器,用于将传递通知分发到特定的应用程序数据库。

这样你就有了一个数据库连接但是有单独的应用程序数据库。

:)