# इवेंट-ड्रिवन आर्किटेक्चर और CQRS — सिस्टम डिज़ाइन

Source: https://www.geekswithgeeks.com/hi/system-design/sd-event-driven

> जो हुआ उस पर प्रतिक्रिया देना, और रीड को राइट से अलग करना।

## कॉल की जगह इवेंट

**इवेंट-ड्रिवन आर्किटेक्चर** में, एक सेवा सीधे दूसरी सेवाओं को कॉल करने के बजाय एक तथ्य प्रकाशित करती है ('OrderPlaced')। रुचि रखने वाली सेवाएँ सब्सक्राइब करती हैं और स्वतंत्र रूप से प्रतिक्रिया देती हैं — प्रकाशक को यह जानने की ज़रूरत नहीं कि कौन सुन रहा है।

## ढीली कपलिंग, नए विफलता तरीके

प्रकाशक और सब्सक्राइबर स्वतंत्र रूप से डिप्लॉय, स्केल और विफल हो सकते हैं — विकास के लिए बढ़िया। कीमत: रिक्वेस्ट का कोई एक सिरे-से-सिरे ट्रेस नहीं, और जैसे-जैसे और सेवाएँ जुड़ती हैं, इवेंट स्कीमा और वर्ज़निंग अनुशासन चाहिए।

## सूचना पट्ट बनाम फ़ोन कॉल

सीधी कॉल एक फ़ोन कॉल है — दूसरी तरफ़ से अभी उठाना ज़रूरी है। इवेंट प्रकाशित करना सूचना पट्ट पर नोटिस लगाने जैसा है: कोई भी जब गुज़रे तब पढ़ सकता है, और आप बोर्ड की अनुमति माँगे बिना बाद में और पाठक जोड़ सकते हैं।

**Quiz:** CQRS किसी सिस्टम के मॉडल को किन दो रास्तों में अलग करता है?

- [ ] कैश बनाम डेटाबेस
- [x] रीड (क्वेरी) बनाम राइट (कमांड)
- [ ] सिंक बनाम एसिंक

*Answer:* रीड (क्वेरी) बनाम राइट (कमांड). CQRS (कमांड क्वेरी रिस्पॉन्सिबिलिटी सेग्रीगेशन) कमांड के लिए ऑप्टिमाइज़्ड राइट मॉडल और क्वेरी के लिए ऑप्टिमाइज़्ड, अक्सर डीनॉर्मलाइज़्ड, अलग रीड मॉडल उपयोग करता है।
