2009-11-28 55 views
9

erlang的常見用例是什麼?我一般都知道,但我正在尋找具體的例子。 以下是Erlang可能有用的一些情況嗎?erlang的常見用例

  1. 分佈式作業調度程序。 (從作業隊列中取出複雜的多階段作業,並將其分配給工作線程,這些工作線程將執行它的每個線程,然後將輸出從一個階段傳遞到另一個階段)(順便說一句,這是一個有趣的例子,用於集成Erlang和Java/C++。每個階段可能是任意計算密集型的,因此Erlang可能不適合每個步驟中的計算,但可能用於協調整個管道)。 (警告:這看起來像是Map-reduce,但它不是,這裏沒有發生減少操作)
  2. 網站請求處理
  3. 分佈式算法用於從多個連續的數據流中選擇第K個最大的元素類似的分析)

在SO的某處,我讀到使用Erlang解決Project Euler問題是一個好主意。是嗎?

除了編寫erlyweb,couchdb,yaws等之外,還有其他常見的日常用例嗎?在看到像Erlyweb,Couchdb,yaws等應用程序之後,似乎Erlang主要在您想要大規模併發時發光,但底層業務邏輯本身非常簡單。我沒有任何着名的應用程序,其中業務邏輯也非常複雜,並且需要大量的併發。 業務邏輯較少=>除了調度/傳遞/存儲數據之外,他們對數據做的不多。

感謝

+0

另請參閱:http://stackoverflow.com/questions/1636455/where-is-erlang-used-and-why – tuinstoel 2009-11-28 06:54:34

+0

Erlang常見問題回答你的問題。 - [Erlang特別適合哪種應用程序](http://www.erlang.org/faq/introduction.html#1.3)。 - [Erlang不適合哪種問題](http://www.erlang.org/faq/introduction.html#1.4)。 – 2009-11-28 04:58:37

回答

10

二郎閃耀在SOA和服務器端編程。業務邏輯的複雜性不是問題。您可以根據需要管理複雜的應用程序。與C/C++和Java相比,它的代碼要少得多,因爲它確實可以做同樣的事情,甚至可能比Python或Ruby更少的代碼。對你的邏輯有多複雜沒有限制。我會爭辯說,一個電話交換機(這是Erlang首次使用的)具有一些相當複雜的狀態機和邏輯。

有爭議的是,功能語言更具表現力,更容易維護邏輯越複雜。 Erlang是很受歡迎在高容量的微交易應用在BIG銀行在華爾街上使這些行業的邏輯是不是在共同業務應用什麼更復雜。