簡體   English   中英

從另一個EC2實例訪問Heroku應用上的服務

[英]Accessing a service on a Heroku app from another EC2 instance

嗨,我正在一個項目上,可能正在Heroku上使用RoR,該RoR為運行C ++服務器的另一個EC2實例提供Web服務。 我了解到有一些可以從Heroku(https://devcenter.heroku.com/articles/external-services)訪問EC2實例的材料,但是我沒有看到另一種方法。

我想知道是否有辦法從EC2 C ++服務器向Heroku服務發出低延遲請求,如果這兩個實例都托管在美國東部地區? (沿着上述鏈接中提到的方向,正好相反。)

我確定在C ++實例和Heroku之間使用普通的HTTP請求是可以的,但是我想知道是否有更好的解決方案。 謝謝!

我對Heroku並不熟悉,但是由於它們在EC2連接上運行,因此這兩個實例應該相當簡單。 為了使每個實例之間的等待時間最小,您應該在美國東部地區設置C ++實例,並使用實例的內部DNS。

如果要從Heroku實例訪問C ++實例,則可以使用net-ssh gem ,它允許您通過ssh連接並直接在C ++實例上執行任何操作。

在某些情況下,對C ++實例的處理將花費一些時間,並且Rails應用將不得不“等待”結果,因此您可以考慮使用隊列服務在實例之間進行通信。 一個示例是Amazon SQS服務:只需設置一個隊列,然后讓C ++實例將Rails應用程序需要的信息發布到該隊列。 您將必須編寫由cron定期啟動的rake任務,或者您可以編寫在后台連續運行的守護程序,以使Rails應用程序從隊列中收集信息。

編寫rake任務很容易,這應該使您入門: rake,rake,rake您的船 ,這是Railscast,應該為您提供一些編寫守護程序的指導: #129 Custom Daemon

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM