私にはサービスがあり、ユーザーの要求ごとに40の外部サービス(API)に情報を取得するように依頼する必要があります。たとえば、あるユーザーが情報を検索していて、私のサービスは40の外部パートナーに情報の取得を依頼し、それを1つのDB(mysql)に集約して、結果をユーザーに表示しています。
現在、私はマルチカールソリューションを持っています。一度に10のパートナーリクエストがあり、誰かがリクエストを完了した場合、ソフトウェアは残りの30から別のパートナーをマルチカールのキューに追加します。完了し、結果はDBにあります。
このソリューションの問題は、多くのサーバーで拡張できないことです。たとえば、2〜3台のサーバーで分割して、一度に40のリクエストを実行し、最も遅いパートナーとして待機できるソリューションが必要です。結果を提供します;-)つまり、最も遅いパートナーが10秒かかった場合、40のパートナーすべての結果が10秒で得られます。マルチカールでは、一度に10〜12を超えるリクエストがあると、問題が発生します。
どのようなソリューションを提供できますか、リソースを可能な限り低くし、1台のサーバーで多くのプロセスを実行してスケーラブルにすることができます。私のソフトウェアはPHPで記述されています。つまり、フレームワークまたはAPIを使用してソリューションに適切に接続する必要があります。
私の問題と必要性をご理解いただければ幸いです。不明な点がございましたら、お問い合わせください。