2009-11-25 84 views
2

我是Erlang的新手,並且正在嘗試爲我們的最新項目切換到Erlang。由於這將是一個實時聊天(長時間輪詢)系統,用於文件共享,所以經過一番深入的研究,我意識到Erlang是最合適的選擇,因爲併發性很高,另外還有人建議使用Yaws,因爲它可以處理高達50k的並行連接。彗星在erlang上的REST應用程序?

儘管這聽起來很棒,但由於我是一個新手(對於erlang和comet應用程序),我無法理解正確的技術堆棧/體系結構。另外,由於相對較少的文檔,我無法弄清楚這些應用程序的各個部分如何組合在一起(Web服務器,應用程序層,數據庫,消息隊列)。該應用程序將僅運行桌面客戶端(不需要Web存在),因此我們需要爲這些功能構建REST API。

如果有人能指引我繼續正確的方向,那將是非常棒的。

感謝

+0

您可能會發現這個有趣的閱讀:http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1/ – 2009-11-25 15:51:44

+0

@TP ..感謝您的鏈接..這是一系列的文章! – hashpipe 2009-11-25 16:48:47

回答

1

Nitrogen內置了非常漂亮的Comet功能。它將與三個最受歡迎的Erlang網絡服務器一起工作,其中包括您已經考慮的那個,YAWS。

氮對數據存儲沒有特別的作用。這不是那些堅持爲你管理數據庫的Web框架之一。你可以自由使用Mnesia或任何你喜歡的東西。如果這讓你感到困擾,你可以考慮改爲Erlyweb。它不像Nitrogen那樣爲你做彗星,但它更像是管理一切爲了我的網絡框架。

1

你可以使用:

  • ejabberd作爲XMPP服務器
  • mnesia爲數據庫
  • YAWS作爲WEB服務器
  • 消息隊列:您可以實現在Erlang或使用企業解決方案,如RabbitMQ
0

全新的Zotonic應用程序可能會鼓舞你。對於HTTP服務,它是一個運行mochiweb的webapp,webmachine用於REST API。它使用良好的PostgreSQL作爲數據庫。

它實施了彗星支持。