在重新發明輪子之前,我正在尋找指向滿足這些要求的開源項目的指針。爲erlang尋找持久的,分佈式的工作隊列
- 二郎實施雖然去或C是可能的,如果沒有太多的行李(如:依賴扭迷宮)
- 端點或客戶端二郎(如:我想二郎代碼當我做這些工作時運行。)
- 將作業分配給節點,並調用一些erlang函數來完成作業。
- 堅持以某種方式
- 的作業沒有主節點,不存在單一故障點
- 同質架構
- 管理的,可能會得到備份,而無需在地板上
- 工作是下降的作業的作業隊列做過不止一次的是確定
- 運行剖面像了Riak或Couchbase(如:啓動一個節點,然後啓動他人和指向它)
的Stro ng偏好輕量級的東西。在erlang中有很多過度鍛鍊的企業級解決方案,這些解決方案看起來像需要花費很長時間才能學習,因爲從頭開始重新創建它(事實上,我基本上構建瞭解決這個問題的解決方案,以回答某人其他人的問題在這裏stackoverflow我可以建立我所描述的,但這似乎是在erlang設計的中間那些需求之一。)
我考慮過: - ejabbered - 更多的消息框架 - rabitmq - 理論上這樣做,但每次我去他們的網站時,我都沉浸在抽象的海洋中。它似乎準備好做所有事情。我甚至不知道它是否有任何持久性。
修改即可添加:以下是使用儲物櫃進行分佈式鎖定的幻燈片。好像它解決問題的一個關鍵部分 http://www.slideshare.net/knutnesheim/locker-distributed-consistent-locking
進一步編輯(如果一個人想推出自己的。):我真的要尋找的東西比RabbitMQ的更輕巧。我知道它可以做我想做的事,但看起來它的成本與自己做這件事的成本差不多,最終定製解決方案會更接近我真正需要的。
半年完全理解RabbitMQ的時間比一個月還要長,所以我認爲需要我自己構建自己的解決方案,從一開始我就會完全理解。我認爲這是我對RabbitMQ的關注。它確實是一切,並且是「企業級」,但也有一個陡峭的學習曲線。很高興知道它可以做我所需要的,我會做更多的調查,看看我能不能找出如何堅持和設置它以滿足我的需求。 – nirvana 2013-03-20 16:10:02
試試RabbitMQ。與使用自己的解決方案相比,您將獲得更多的收益。 – Tilman 2013-03-20 18:49:11
學習RabbitMQ應該比滾動你自己的要少很多。關鍵部分 - >交換綁定到隊列。消息被髮布到Exchange,它們逐漸下降到綁定的隊列。隊列是您與消費者收到消息的地方。有很多使用RabbitMQ庫的例子。 – Travis 2013-08-29 11:34:04