开发者

PHP: How best to communicate between two servers

开发者 https://www.devze.com 2023-03-17 01:48 出处:网络
I am writing the spec for a complex business solution; it is basically a set of web apps that are all on their own servers.I want them to be independant so if one has a problem or becomes very busy th

I am writing the spec for a complex business solution; it is basically a set of web apps that are all on their own servers. I want them to be independant so if one has a problem or becomes very busy then the rest are not affected.

There will be a central server that will act as the payment gateway for the apps as well as providing data to the apps themselves. The data is minimal; user ids, have they paid for that app etc.

The idea was that when an app was purchased then we'd just pass that data to the app in question.

The question is how to do this while not holding up the user's experience while we wait for the app server to resoned. The idea was to enter it into a queue and process them one by one on a cron job. However there are concerns that this will not be fast enough and the user could have to wait before accessing the app.

The other idea is that the app just contacts the main server when the user tries to use it. The main server can then approve the user and this will be kept on th开发者_开发百科e app server DB so it doesn't have to check again.

What do you all think about these ideas? Is there an obviously best way of doing it?

The system should be able to scale to 100+ apps and tens of thousands of app purchases an hour.

Very interested to see what you all think! Many thanks


I have a similar but slightly different situation here, supporting a potential competitor... have I gone mad?? haha

To the topic, we use cURL to connect the server requests generally, especially if we don't want information to be public, we have a specific VPS set up for payment handling, account functions and financial functions, this will post to a centralized mySQL database for access information only so it will support a single sign on for multiple apps on multiple server clusters.

To ensure the user is immediately moved to the app they want and it works correctly, we use cURL to post initial data creating the default records in the specific app database, we then set up a PHP header redirect using to move the user to the app requested with the single sign-in already working as part of the cURL post preformed earlier.

An access key is important to us as it enables the single sign-on to be secure. It is generated 1 time per account and never updated even though we can if there is ever a security violation. We then use cURL in the user auth process to ensure the user is still signed in using their key and user id. The key is never actually passed publicly but always posted server side using a cURL method hiding it in the PHP.

I hope this helps.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号