3 पॉइंट द्वारा GN⁺ 2023-09-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • यह लेख समझने में आसान तरीके से डिज़ाइन किए गए Raft Consensus Algorithm पर चर्चा करता है, जो fault tolerance और performance के मामले में Paxos के समकक्ष है.
  • consensus fault-tolerant distributed systems में एक बुनियादी समस्या है, जहाँ कई servers को किसी value पर सहमति बनानी होती है. किसी value पर निर्णय हो जाने के बाद वह अंतिम होता है.
  • Raft algorithm का उपयोग replicated state machine के संदर्भ में fault-tolerant systems बनाने के लिए किया जाता है. हर server के पास एक state machine और एक log होता है. state machine वह घटक है जिसे fault tolerance की आवश्यकता होती है.
  • Raft algorithm यह सुनिश्चित करता है कि यदि कोई state machine किसी command को nवीं command के रूप में लागू करती है, तो दूसरी state machine कोई अलग nवीं command लागू न करे. इससे हर state machine commands की समान श्रृंखला को process करती है और समान परिणाम उत्पन्न करती है.
  • यह लेख browser में चल रहे Raft cluster को visualize करके Raft के काम करने के तरीके को समझने में मदद करता है.
  • यह लेख Raft के अच्छे परिचय के रूप में प्रकाशनों और talks की एक सूची भी प्रदान करता है.
  • यह लेख विकास के विभिन्न चरणों में उपलब्ध Raft के कई implementations को सूचीबद्ध करता है, और source code भी प्रदान करता है.
  • Raft और उसके implementations के बारे में प्रश्न पूछने के लिए सबसे अच्छी जगह raft-dev Google group है.
  • यह लेख Creative Commons Attribution 3.0 Unported License के तहत लाइसेंस प्राप्त है.

1 टिप्पणियां

 
GN⁺ 2023-09-04
Hacker News राय
  • Raft consensus algorithm एक सरल लेकिन मज़बूत distributed systems सीखने का algorithm है, और वास्तविक दुनिया में इसके कई application क्षेत्र हैं.
  • Jepsen द्वारा बनाया गया Maelstrom workbench, Raft के model-checking implementation और उसे implement करने के तरीके पर एक बेहतरीन tutorial शामिल करता है.
  • Raft algorithm अपनी सरलता के कारण ध्यान आकर्षित करता है, लेकिन मूल paper में correctness से जुड़ी कई ऐसी बारीकियाँ शामिल हैं जिन्हें toy implementations में अक्सर नज़रअंदाज़ किया जाता है.
  • वास्तविक hardware में fault की संभावना, सख्त latency SLA, और flexible quorum/dynamic cluster membership की आवश्यकता के कारण Raft को product-grade रूप में implement करना एक लंबा और कठिन काम है.
  • Raft paper पढ़ने में आसान है, और जो लोग इसे implement नहीं करना चाहते उनके लिए भी यह शानदार intuition देता है.
  • Raft का उपयोग करने वाले software में etcd, consul, cockroach, tidb शामिल हैं.
  • Raft की conceptual clarity और elegance, performance और reliability में दिखाई दे सकती है.
  • Raft के लिए अच्छी समझ और मज़बूत library ecosystem उपलब्ध है, जो इसे implement करने वालों के लिए फायदेमंद है.
  • Raft के साथ आने वाली सरलता और reasoning को tech community के कई लोग मान्यता देते हैं.
  • कुछ उपयोगकर्ता सलाह देते हैं कि consensus protocol के beginner पहले Bitcoin से शुरू करें, फिर Paxos/Tendermint/Simplex पर जाएँ, और Raft को पूरी तरह छोड़ दें.
  • सरलता के बावजूद Raft अब भी कई सूक्ष्म पहलुओं वाला एक जटिल algorithm है, और कुछ उपयोगकर्ताओं को इसे समझने व implement करने में कठिनाई होती है.
  • Raft consensus algorithm को समझने में आसान बनाने के लिए डिज़ाइन किया गया था, और fault tolerance तथा performance में यह Paxos के बराबर है.
  • यह algorithm अपेक्षाकृत स्वतंत्र sub-problems में विभाजित होता है, और practical systems के लिए आवश्यक सभी प्रमुख हिस्सों को कवर करता है.
  • कुछ उपयोगकर्ताओं को Raft consensus algorithm की visualization और explanation अस्पष्ट या भ्रमित करने वाली लगी.