PHP:如何最好地在两个服务器之间进行通信


PHP: How best to communicate between two servers

我正在为一个复杂的业务解决方案编写规范;它基本上是一组web应用程序,它们都在自己的服务器上。我希望他们独立,这样,如果一个人有问题或变得非常忙碌,那么其他人就不会受到影响。

将有一个中央服务器作为应用程序的支付网关,并向应用程序本身提供数据。数据很少;用户ID,他们为该应用程序等付费了吗?

当时的想法是,当购买应用程序时,我们只需将数据传递给有问题的应用程序。

问题是如何做到这一点,同时在等待应用服务器重新启动时不影响用户体验。这个想法是将它输入到一个队列中,并在cron作业中逐个处理它们。然而,有人担心这还不够快,用户可能需要等待才能访问该应用程序。

另一个想法是,当用户尝试使用时,应用程序只会联系主服务器。然后主服务器可以批准用户,这将保存在应用程序服务器数据库中,这样它就不必再次检查。

你们对这些想法有什么看法?有没有最好的方法?

该系统应该能够扩展到每小时100多个应用程序和数万次应用程序购买。

很想看看你们的想法!非常感谢

我有一个类似但略有不同的情况,支持一个潜在的竞争对手。。。我疯了吗??哈哈

对于主题,我们通常使用cURL连接服务器请求,特别是如果我们不希望信息公开,我们为支付处理、账户功能和财务功能设置了特定的VPS,这将发布到一个集中的mySQL数据库中,仅用于访问信息,因此它将支持多个服务器集群上的多个应用程序的单一登录。

为了确保用户立即移动到他们想要的应用程序并正常工作,我们使用cURL发布初始数据,在特定的应用程序数据库中创建默认记录,然后设置PHP头重定向,用于将用户移动到请求的应用程序,其中单次登录已经作为之前执行的cURL发布的一部分工作。

访问密钥对我们来说很重要,因为它可以确保单次登录的安全。它为每个帐户生成1次,并且从未更新,即使我们可以在发生安全违规时进行更新。然后,我们在用户身份验证过程中使用cURL,以确保用户仍然使用他们的密钥和用户id登录。密钥从未公开传递,而是始终使用cURL方法在服务器端发布,将其隐藏在PHP中。

我希望这能有所帮助。