Php 多数据库连接与Laravel中的curl请求相比,哪个更快?

Php 多数据库连接与Laravel中的curl请求相比,哪个更快?,php,database,laravel,api,latency,Php,Database,Laravel,Api,Latency,我们有一个具有多个子域的项目,每个子域分别处理业务的不同方面。例如,customers.domain.com将是一个完全独立的laravel项目,具有api,其中用户(客户)可以通过api连接来访问或连接,它只保存他们交互和订单中的数据。 然后是suppliers.domain.com,在那里提供产品的人来与他们的信息交互,为他们的产品添加价格和库存,并查看他们的订单。 然后有一个central.domain.com,它将使这两个子域之间的通信成为可能,管理员还可以添加产品(供应商可以从这些产品

我们有一个具有多个子域的项目,每个子域分别处理业务的不同方面。例如,customers.domain.com将是一个完全独立的laravel项目,具有api,其中用户(客户)可以通过api连接来访问或连接,它只保存他们交互和订单中的数据。 然后是suppliers.domain.com,在那里提供产品的人来与他们的信息交互,为他们的产品添加价格和库存,并查看他们的订单。 然后有一个central.domain.com,它将使这两个子域之间的通信成为可能,管理员还可以添加产品(供应商可以从这些产品中选择并销售),并查看订单。如果管理员需要,他们可以在供应商提供的最终价格中增加服务成本,然后向客户展示

目前,所有这些部分都在同一台服务器上,但将来可能会移动到不同的服务器上,因此我们将它们开发为3个不同的laravel项目,它们之间的通信是通过API XML或JSON进行的

现在我的问题是,在laravel项目中建立多个数据库连接,并且在每个项目中能够直接从数据库中获取所需的内容,是更好还是当前的工作流更好

我说的更好是指更快,因为就工作负载而言,代码已经编写好,并且与api连接一样工作良好,因此不需要做额外的事情,但是如果多连接变得更好更快,我们可以将所有代码都改成这样

我非常感谢你在这件事上的帮助

注:客户和供应商都来自世界不同的地区,如果这对决策很重要的话


非常感谢。通过API共享数据库或共享数据是一种折衷

如果您通过API共享数据,您可以:

  • 由于数据是通过http检索的,因此性能降低
  • 只有提供API的应用程序才对其中数据的有效性负责
如果共享数据库,请执行以下操作:

  • 由于可以直接从数据库中提取数据,因此具有更好的性能
  • 多个应用程序负责确保数据有效

关于有效性,我的意思是关于数据的业务规则。例如,“客户有姓名、电子邮件地址和送货地址”,这从购物车的角度来看是有意义的。但是,如果您要介绍一份时事通讯,客户可能没有任何发货数据。最好在一个点上处理这些不一致,而不是在几个点上。这就是为什么在这种情况下,我会选择数据有效性而不是性能。

共享数据库或通过API共享数据是一种权衡

如果您通过API共享数据,您可以:

  • 由于数据是通过http检索的,因此性能降低
  • 只有提供API的应用程序才对其中数据的有效性负责
如果共享数据库,请执行以下操作:

  • 由于可以直接从数据库中提取数据,因此具有更好的性能
  • 多个应用程序负责确保数据有效

关于有效性,我的意思是关于数据的业务规则。例如,“客户有姓名、电子邮件地址和送货地址”,这从购物车的角度来看是有意义的。但是,如果您要介绍一份时事通讯,客户可能没有任何发货数据。最好在一个点上处理这些不一致,而不是在几个点上。这就是为什么在这种情况下,我会选择数据有效性而不是性能。

您已经讨论了子域、API和laravel项目,但从未讨论过数据库。然而,您的问题是关于一个或多个数据库的。那么这三个项目是否都有一个底层数据库,或者每个项目都有自己的数据库?我想是后者。然后您可能应该坚持这一点,并使用3项目的API。这可能不会加快执行速度,但会在项目之间保持清晰的分隔。@KIKOSoftware是的,正如您所说的,每个项目都有一个单独的数据库。既然您已经提到了,合并所有数据库并对所有数据库使用一个数据库是一个好主意吗?我不认为这是一个好主意,但我很感激你的意见你已经谈到了子域、API和laravel项目,但你从来没有提到过数据库。然而,您的问题是关于一个或多个数据库的。那么这三个项目是否都有一个底层数据库,或者每个项目都有自己的数据库?我想是后者。然后您可能应该坚持这一点,并使用3项目的API。这可能不会加快执行速度,但会在项目之间保持清晰的分隔。@KIKOSoftware是的,正如您所说的,每个项目都有一个单独的数据库。既然您已经提到了,合并所有数据库并对所有数据库使用一个数据库是一个好主意吗?我不认为这是一个好主意,但我非常感谢你的意见,非常感谢你的精彩解释,因此,根据你的解释,我认为,如果我们坚持当前的解决方案,即通过API,从长远来看,它会更好,在有效性方面更一致,对吗?另外,我认为这种方法会更好的是,如果有人窃取一个应用程序,只有该应用程序的数据将泄漏而不是所有的应用程序(希望不会发生,但最好考虑最坏的情况),我是正确的吗?你可以认为安全可以在其中发挥作用,但这完全取决于违约的类型。如果只有数据库被破坏,那么是的。如果应用程序被破坏,黑客可以自己进行API调用,并且仍然可以访问其他数据。哦,我理解。T