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

时间:2011-07-02 14:47:00

标签: php communication

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

将会有一个中央服务器,它将充当应用程序的支付网关,并为应用程序本身提供数据。数据很少;用户ID,他们是否为该应用付费等。

这个想法是,当一个应用程序被购买时,我们只是将该数据传递给相关的应用程序。

问题是如何在我们等待应用服务器产生共鸣的同时不提升用户体验的同时做到这一点。我的想法是将其输入队列并在cron作业上逐个处理它们。但是,有人担心这不够快,用户可能必须等到访问应用程序之前。

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

你们对这些想法有什么看法?这有明显的最佳方式吗?

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

非常有兴趣看看你们都在想什么!非常感谢

1 个答案:

答案 0 :(得分:0)

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

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

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

访问密钥对我们很重要,因为它使单点登录安全。它为每个帐户生成一次,并且永远不会更新,即使我们可以,如果有任何安全违规。然后,我们在用户身份验证过程中使用cURL,以确保用户仍然使用其密钥和用户ID登录。密钥永远不会公开传递,但始终使用隐藏在PHP中的cURL方法发布服务器端。

我希望这会有所帮助。