इस प्रोजेक्ट के बारे में
Watermill एक Go लाइब्रेरी है जो इवेंट-संचालित एप्लिकेशन को कुशलतापूर्वक बनाने के लिए डिज़ाइन की गई है। यह मैसेज स्ट्रीम संचार को एक सरल हैंडलर इंटरफेस के पीछे एब्स्ट्रैक्ट करता है, जिससे इसे HTTP राउटर की तरह उपयोग करना आसान हो जाता है। लाइब्रेरी इवेंट सोर्सिंग, मैसेज पर RPC, सागास, CQRS, और अन्य इवेंट-संचालित पैटर्न का समर्थन करती है।
मुख्य विशेषताएं शामिल हैं:
- एक सरल हैंडलर इंटरफेस: func(*Message) ([]*Message, error)
- इवेंट-संचालित आर्किटेक्चर, मैसेजिंग, स्ट्रीम प्रोसेसिंग, और CQRS के लिए सार्वभौमिक समर्थन
- लचीला मिडलवेयर और प्लगइन सिस्टम
- सिद्ध तकनीकों और स्ट्रेस टेस्टिंग के साथ लचीला डिज़ाइन
समर्थित Pub/Sub कार्यान्वयन शामिल हैं:
- AMQP (RabbitMQ)
- AWS SNS/SQS
- Bolt
- Firestore
- Google Cloud Pub/Sub
- HTTP
- io.Reader/io.Writer
- Kafka
- NATS Jetstream
- Redis Streams
- SQL (MySQL/PostgreSQL)
- SQLite (बीटा)
Watermill v1.0.0 उत्पादन-तैयार है जिसमें स्थिर सार्वजनिक API है। सभी Pub/Sub कार्यान्वयन को एक व्यापक परीक्षण सूट पास करना होगा, जिसमें स्ट्रेस टेस्ट (20x समानांतर रन) और रेस कंडीशन डिटेक्शन शामिल है। लाइब्रेरी में विभिन्न Pub/Sub कार्यान्वयनों में मैसेज थ्रूपुट की तुलना करने वाले बेंचमार्क शामिल हैं।
परियोजना व्यापक उदाहरण प्रदान करती है जो बुनियादी उपयोग, pub/sub एकीकरण, वास्तविक-विश्व परिदृश्य (एक्सैक्टली-वन्स डिलीवरी, वेबहुक, डेटाबेस सिंक्रोनाइज़ेशन, स्थायी इवेंट लॉग, ट्रांज़ैक्शनल इवेंट, सर्वर-सेंट इवेंट), और पूर्ण परियोजनाओं को कवर करते हैं। एक ऑनलाइन हैंड्स-ऑन प्रशिक्षण पाठ्यक्रम उद्योग-मानक अवधारणाओं जैसे एट-लीस्ट-वन्स डिलीवरी, एसिंक्रोनस रीड मॉडल, इवेंट्स और कमांड्स, ऑब्ज़र्वेबिलिटी, मैसेज ऑर्डरिंग, और सागास को कवर करता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.