我有一個涉及多臺機器,消息隊列和事務的問題。因此,例如,用戶點擊網頁,點擊發送消息到另一臺機器,該機器向用戶的賬戶添加支付。每秒可能會有數千次點擊。交易的所有方面應該是容錯的。分佈式事務和隊列,ruby,erlang,scala
我以前從來沒有處理過這樣的事情,但有些閱讀表明這是一個衆所周知的問題。
所以對我的問題。我是否正確地認爲這樣做的一種安全方式是使用兩階段提交,但協議被阻止,所以我不會獲得所需的性能?我通常會編寫Ruby,但看起來類似redis和消息隊列系統(如Rescue,RabbitMQ等)的DB並不能真正幫助我 - 即使我實現某種兩階段提交,如果redis崩潰,數據也會丟失,因爲它本質上只是記憶。
所有這些讓我看到了erlang和scala--但在我開始學習一門新語言之前,我真的很想更好地理解,如果這是值得的。具體來說,我認爲由於它們的並行處理能力,這些語言是實現像兩階段提交這樣的阻塞協議的更好選擇,還是我感到困惑?如果是的話,是否有理由選擇一個而不是另一個(具體而言,在這種情況下 - 我知道有很多線索和博客比較兩者更普遍)
道歉的交叉發佈 - 這是第一次發佈到堆棧交換,但我已經加入到這個問題,這個版本可能更適合這裏
非常有幫助的答案 - 謝謝你和+1。在接受之前,我仍然有興趣瞭解其他觀點 – chrispanda