Kafka को आर्किटेक्चर ब्रोकरको क्लस्टर (सर्भरहरू) को समावेश गर्दछ जसले विभाजित, नकल गरिएका विषयहरू संग्रहण गर्दछ, निर्माताहरू लेख्छन् र उपभोक्ताहरू पढ्छन्, मेटाडेटा प्रबन्धन द्वारा समन्वित (ऐतिहासिक रूपमा ZooKeeper, अब KRaft)। आर्किटेक्चर बुझ्नुले स्पष्ट गर्दछ कि Kafka कसरी वितरित प्रणालीको रूपमा काम गर्दछ।
घटकहरू
BROKERS → Kafka SERVERS forming a CLUSTER:
→ store topic partitions (the data); serve producers and consumers
→ a cluster of multiple brokers → distributes data and load; scales horizontally
TOPICS / PARTITIONS → topics split into partitions, distributed across brokers
PRODUCERS → write events to topics (to partition leaders)
CONSUMERS (in groups) → read events from partitions
COORDINATION → metadata, cluster state, leader election:
→ historically ZOOKEEPER; now KRAFT (Kafka's own built-in consensus, removing ZooKeeper)
स्थायित्व र उपलब्धताको लागि नकल
Partitions are REPLICATED across brokers for fault tolerance:
→ each partition has a LEADER (handles reads/writes) + FOLLOWERS (replicas):
- producers/consumers interact with the leader
- followers replicate the leader's data → if the leader fails, a follower takes over
→ REPLICATION FACTOR → how many copies (e.g. 3) → survive broker failures without data loss
→ IN-SYNC REPLICAS (ISR) → replicas caught up with the leader (for durability guarantees)
यो कसरी एकसाथ काम गर्दछ
Producer → writes to a partition's LEADER on a broker → replicated to followers →
Consumer (in a group) reads from partitions → cluster coordinated by KRaft/ZooKeeper
→ a distributed, replicated, scalable system: brokers store/serve, replication gives
durability/HA, coordination manages the cluster
यो किन महत्वपूर्ण छ
Kafka को समग्र आर्किटेक्चर बुझ्नु मूल्यवान छ किनभने यो Kafka कसरी वितरित प्रणालीको रूपमा काम गर्दछ भनेर स्पष्ट गर्दछ, त्यसैले यो Kafka सँग काम गर्नको लागि आधारभूत ज्ञान हो।
Kafka एक वितरित प्रणाली हो, र यसको आर्किटेक्चर बुझ्नुले यसले यसको स्केलेबिलिटी, स्थायित्व, र उपलब्धता कसरी प्राप्त गर्दछ भनेर व्याख्या गर्दछ।
घटकहरू बुझ्नु — ब्रोकरहरू (Kafka सर्भरहरू जसले क्लस्टर गठन गर्छन् जसले विभाजनहरू संग्रहण गर्दछ र ग्राहकहरूलाई सेवा प्रदान गर्दछ, डेटा र लोड वितरण गर्दछ), विषयहरू/विभाजनहरू ब्रोकरहरूमा वितरित, निर्माताहरू लेख्छन् र उपभोक्ताहरू पढ्छन्, र समन्वय (मेटाडेटा र क्लस्टर प्रबन्धन, ऐतिहासिक रूपमा ZooKeeper को माध्यमबाट, अब क्रमशः KRaft को माध्यमबाट — Kafka को आफ्नै अन्तर्निहित सहमति जसले ZooKeeper निर्भरता हटाउदछ) — प्रणालीका टुक्राहरूलाई स्पष्ट गर्दछ।
स्थायित्व र उपलब्धताको लागि नकल बुझ्नु विशेष रूपमा महत्वपूर्ण छ: विभाजनहरू ब्रोकरहरूमा नकल गरिएका छन् (प्रत्येकसँग नेतृत्व पढ्छन्/लेख्छन् को हस्तन्दरी गर्दछ र अनुयायीहरू यसलाई नकल गर्दछन्), त्यसैले यदि एक नेतृत्व विफल हुन्छ एक अनुयायी आफ्नो स्थान लिन्छ (उपलब्धता), नकल कारक ले कति प्रतिलिपिहरू विफलताहरू बिना डेटा हानि को साथ बाँचन सकलन्छ भनेर निर्धारण गर्दछ (स्थायित्व), र सिंक गरिएका नकलहरू स्थायित्व गारन्टीहरू सुनिश्चित गर्दछ।
यो नकल संयन्त्र Kafka ले गल्ती सहनशीलता र स्थायित्व कसरी प्राप्त गर्दछ — यसको विश्वसनीयताको लागि मुख्य।
यो कसरी एकसाथ काम गर्दछ बुझ्नु (निर्माताहरू विभाजन नेतृत्वमा लेख्छन्, अनुयायीहरूमा नकल गरिएका, उपभोक्ताहरू पढ्छन्, सबै समन्वित) Kafka को पूर्ण तस्बिर वितरित, नकल, स्केलेबल प्रणालीको रूपमा प्रदान गर्दछ।
यो स्थापत्य बुझ्नले स्पष्ट गर्दछ कि Kafka कसरी यसको मुख्य गुणहरू (वितरित विभाजित ब्रोकरहरूको माध्यमबाट स्केलेबिलिटी, नकलको माध्यमबाट स्थायित्व र उपलब्धता) प्रदान गर्दछ।
Kafka एक वितरित प्रणाली भएकोले र यसको आर्किटेक्चर (ब्रोकरहरू, नेतृत्व/अनुयायीहरूको साथ नकल, समन्वय) बुझ्नुले यसले स्केलेबिलिटी, स्थायित्व, र उपलब्धता कसरी प्राप्त गर्दछ भनेर स्पष्ट गर्दछ, र यो Kafka सँग काम गर्नको लागि आधारभूत भएकोले, Kafka को समग्र आर्किटेक्चर बुझ्नु मूल्यवान, आधारभूत ज्ञान हो — Kafka कसरी वितरित, नकल प्रणालीको रूपमा काम गर्दछ भनेर स्पष्ट गर्दछ (ब्रोकरहरू, गल्ती सहनशीलताको लागि नकल, समन्वय), यसले यसको मुख्य गुणहरू कसरी प्रदान गर्दछ भनेर व्याख्या गर्दछ, र Kafka बुझ्न र संचालन गर्नको लागि आधारभूत।
