0

こんにちは私はプロジェクトに取り組んでいます。C++サーバーを実行している別のEC2インスタンスにWebサービスを提供するHerokuでRoRを使用している可能性があります。Heroku(https://devcenter.heroku.com/articles/external-services)からEC2インスタンスにアクセスするための資料があることは理解していますが、その逆は見たことがありません。

両方のインスタンスが米国東部地域でホストされている場合、EC2 C ++サーバーからHerokuサービスへの低レイテンシーリクエストを実行する方法があるかどうか疑問に思っていますか?(上記のリンクで言及されている線に沿った何か、ちょうど反対方向。)

C ++インスタンスとHerokuの間で通常のHTTPリクエストを使用することは確実に機能しますが、より良い解決策があるかどうか疑問に思いました。ありがとう!

4

1 に答える 1

1

私はHerokuに精通していませんが、EC2接続で実行されているため、両方のインスタンスはかなり単純なはずです。各インスタンス間のレイテンシを最小限に抑えるには、US-Eastリージョン内にC ++インスタンスを設定し、インスタンスの内部DNSを使用する必要があります。

HerokuインスタンスからC++インスタンスにアクセスする場合は、net-ssh gemを使用できます。これにより、ssh経由で接続し、C++インスタンスで直接やりたいことができます。

場合によっては、C ++インスタンスでの処理に時間がかかり、Railsアプリが結果を「待機」する必要があるため、キューサービスを使用してインスタンス間で通信することを検討してください。1つの例はAmazonsSQSサービスです。キューを設定し、C++インスタンスにRailsアプリがキューに必要とする情報を投稿させます。cronによって定期的に開始されるrakeタスクを作成するか、バックグラウンドで継続的に実行されるデーモンを作成して、railsアプリがキューから情報を収集できるようにする必要があります。

レーキタスクの作成は簡単です。これで開始できます。レーキ、レーキ、ボートのレーキです。ここに、デーモンを作成するためのいくつかの指示を示すRailscastがあります: #129カスタムデーモン

于 2012-06-08T09:26:39.240 に答える