2011-08-24 19 views
1

我正在構建一個簡單的軌道應用程序,並且正在與Tornado一起爲應用程序的某些實時部分工作。我迄今爲止的經驗僅限於使用一個Web框架來滿足我所有的需求。我第一次使用兩種不同的Web框架。在軌道上使用龍捲風和紅寶石

我很困惑如何軌道和龍捲風可以一起工作。所以,我有一個軌道服務器和一個龍捲風服務器運行在不同的端口。他們都會通過他們的路由配置來處理他們自己的請求。後端是有道理的。我感到困惑的部分是前端集成。讓我們說我有一個頁面,顯示我的登錄/註銷狀態以及來自Twitter的實時推文流,每條推文旁邊都有一個刪除按鈕。我的Rails服務器已知日誌/註銷狀態。推文正在由我的Tornado服務器處理。我如何整合前端兩臺服務器的信息?

我是否從我的rails控制器調用Tornado服務器並處理JSON?如果是這樣,我會不會失去事物的實時性?

我是否在調用Tornado服務器的.erb模板中使用iframe?如果是這樣,我如何將iframe與每條推文旁邊的刪除按鈕集成?

在此先感謝!

回答

2

我會在兩個不同的端口(不是端口80)上運行龍捲風和導軌。我將在端口80上運行nginx。我將配置nginx在/ realtime名稱空間中代理龍捲風,並在其他地方使用rails代理。現在你的客戶說JS代碼只是向服務器請求不同的URL,它從來不需要知道哪一個是哪一個。

0

你應該從Rails應用程序頁面上的Javascript中打開Tornado服務器。所以這是客戶端的瀏覽器擊中了Tornado服務器,而不是你的Rails服務器。