2012-05-05 21 views
3

我們目前正在開發一個應用程序,使用戶能夠註冊一個或多個電子郵件帳戶,以便他的電子郵件可以自動分類。前端已經使用Ruby實現,但是,後端(電子郵件分類器)是用java編寫的,並使用了WEKA API。現在的問題是我們如何能夠整合前端(Web界面用Ruby寫的)與後端(電子郵件分類用Java編寫的),可伸縮的方式(處理大量用戶同時的..可擴展的自動電子郵件分類服務

+1

我很難看到您向我們尋找什麼樣的建議;這個問題的陳述是非常小的,並且不明顯你已經嘗試了什麼選項,他們如何不按需要工作,以及可能有哪些選項可用... – sarnold

+0

謝謝sarnoid。我們目前正在研究可用的選項,我們正在考慮使用IronMQ [link(http://www.iron.io/products/mq)之類的東西來在前端和後端之間進行通信。我正在尋找的建議是:如果監視用戶收件箱文件夾的代碼放置在前端或後端,那麼實現此應用程序的最佳方式是什麼?我們如何以同時支持多個用戶的方式開發應用程序,同時又不會降低性能。 –

回答

1

我不是確定什麼是電子郵件分類器,但是在任何類似的問題中,我建議爲你的java服務創建一個RESTful API,這可以通過正確的工具非常優雅地完成,API應該通過HTTP返回JSON。圖書館像Jackson是序列化JSON。

在Ruby端,您的輕鬆解析JSON和反序列化。

這是因爲HTTP CAL一個非常靈活的解決方案ls是無狀態的並且已經可以擴展。線程被使用並扔掉。如果你需要更多的功率,那麼只需添加更多的機器。

Rails應用程序也可以啓動緩存幾個電話。但這是不成熟的優化。

如果沒有邏輯,只有一個共同的數據庫,那麼就共享兩個應用之間的通用數據庫。但它聽起來像Java應用程序需要做一些工作。這是API的常用方法。它也不會限制你到Ruby。您可以爲AJAX或任何其他可以理解JSON的客戶端創建JSONP服務。

+0

謝謝埃米爾。電子郵件分類器根據用戶提供的培訓數據簡單地將傳入的電子郵件分類到文件夾中。爲此,必須持續監視用戶的郵件收件箱以檢查最近收到的電子郵件,您是否建議將此功能添加到ruby前端?爲什麼?爲什麼不?謝謝 –

+0

我建議你將它添加到它有意義的地方。傳統上,像這樣的服務不屬於前端。如果您需要每隔x秒輪詢一次用戶的收件箱,請確保它是外部的。如果僅當用戶單擊某個按鈕時纔會出現這種情況,則應創建一個與Web應用程序分離的獨立庫,並將其用作Rails中的依賴項。 –

0

如果你想有一個新的電子郵件警報剛剛扭轉它的RESTful API你暴露。不要將Java應用程序公開爲RESTful API,而應該公開Rails應用程序API。例如/user/ID/newmail。然後

的Java應用程序將調用Rails應用程序,當新郵件到達。

BTW:

你是如何在Java中實現一個可擴展的系統檢查電子郵件帳戶的1000?

+0

您應該[問一個新問題](http://stackoverflow.com/questions/ask)。 – j0k

0

隨着您用來訓練分類器的數據量增加,您可能會發現您可能想要使用集成算法(其中一組n個節點構成集成)並將訓練數據分爲的n個節點。

數據的分類數據點新的,你可以使用一個投票系統,其中每個n個節點獲取到「票」上有什麼新的數據點應被歸類爲。票數最多的分類獲勝。

相關問題