2011-07-02 10 views
0

私は複雑なビジネスソリューションの仕様を書いています。それは基本的にすべてが自分のサーバー上にあるWebアプリケーションのセットです。私はそれらが独立しているので、問題がある場合や非常に忙しくなった場合、残りは影響を受けません。PHP:2つのサーバ間で通信するには最適な方法

アプリの支払いゲートウェイとして機能し、アプリケーション自体にデータを提供する中央サーバがあります。データは最小です。ユーザーID、そのアプリなどの支払いをしています

アイデアは、アプリを購入したときに問題のアプリにそのデータを渡すことでした。

質問は、アプリケーションサーバーが鳴り響くのを待つ間にユーザーの経験を邪魔しないうちにこれを行う方法です。アイデアはキューに入れてcronジョブで1つずつ処理することでした。しかし、これでは十分に速くならず、ユーザーがアプリにアクセスするまで待つ必要があるという懸念があります。

もう1つのアイデアは、ユーザーがそれを使用しようとしたときにアプリケーションがメインサーバーに接続するということです。メインサーバーはユーザーを承認することができ、これはアプリサーバーDBに保存されますので、再度確認する必要はありません。

これらのアイデアはどう思いますか?明らかにそれを行う最良の方法はありますか?

システムは、100時間以上のアプリと数万回のアプリの購入を1時間にすることができるはずです。

あなたは皆が考えるものを非常に興味があります!多くのありがとう

答えて

0

私は似たような、わずかに異なる状況があり、潜在的な競合相手をサポートしています...私は怒ったのですか? haha

このトピックでは、cURLを使用して一般的なサーバーリクエストを接続します。情報を公開したくない場合は、支払い処理、アカウント機能、財務機能用に特定のVPSを設定します。アクセス情報のために集中型mySQLデータベースにポストするだけで、複数のサーバークラスタ上の複数のアプリケーションに対してシングルサインオンをサポートします。

ユーザーが必要なアプリケーションにすぐに移動し、正しく動作するように、cURLを使用して特定のアプリケーションデータベースのデフォルトレコードを作成してから、PHPヘッダーのリダイレクトを設定してユーザーは以前に実行されたcURL投稿の一部として既に動作しているシングルサインインでリクエストされたアプリにアクセスします。

アクセスキーは、シングルサインオンを安全にするために重要です。アカウントごとに1回生成され、セキュリティ違反があったとしても更新されることはありません。次に、ユーザー認証プロセスでcURLを使用して、ユーザーが自分のキーとユーザーIDを使用してサインインしていることを確認します。キーは実際に公開されることはありませんが、常にPHPの中にcURLメソッドを隠してサーバーサイドに投稿されます。

こちらがお役に立てば幸いです。