इस प्रोजेक्ट के बारे में

Redpanda Connect एक स्ट्रीम प्रोसेसर है जो विभिन्न स्रोतों और सिंक के बीच डेटा स्थानांतरित करता है, साथ ही हाइड्रेशन, संवर्धन, परिवर्तन और फ़िल्टरिंग करता है। पाइपलाइनों को एक ही YAML फ़ाइल में घोषित किया जाता है, इसलिए स्ट्रीम टोपोलॉजी पढ़ने, संस्करण नियंत्रित करने और समीक्षा करने में आसान होती है। README में वर्णित मुख्य विशेषताएँ: - घोषणात्मक पाइपलाइन: पूरी टोपोलॉजी एक YAML फ़ाइल में समाहित होती है। - डिफ़ॉल्ट रूप से कम-से-कम-एक बार डिलीवरी, एक इन-प्रोसेस ट्रांज़ैक्शन मॉडल का उपयोग करते हुए जिसमें कोई डिस्क-संग्रहीत स्थिति नहीं होती, जो परियोजना के अनुसार क्रैश, डिस्क भ्रष्टाचार या अन्य सर्वर दोषों के बावजूद भी बनी रहती है। - क्लाउड सेवाओं, संदेश ब्रोकर, डेटाबेस और HTTP को कवर करने वाला एक बड़ा कनेक्टर कैटलॉग। नामित उदाहरणों में AWS (DynamoDB, Kinesis, S3, SQS, SNS), Azure (Blob, Queue, Table), GCP (Pub/Sub, Cloud Storage, BigQuery), Kafka, NATS (JetStream, Streaming), NSQ, MQTT, AMQP 0.91 (RabbitMQ), AMQP 1, Redis, Cassandra, Elasticsearch, HDFS, HTTP (सर्वर, क्लाइंट, वेबसॉकेट), MongoDB और SQL (MySQL, PostgreSQL, ClickHouse, MSSQL) शामिल हैं। - Postgres, MySQL, MongoDB, Oracle और MSSQL के लिए प्रथम-श्रेणी के चेंज-डेटा-कैप्चर कनेक्टर, ताकि डेटाबेस परिवर्तन घटनाओं के रूप में पाइपलाइनों के माध्यम से प्रवाहित हों। - Bloblang, स्ट्रीम डेटा के लिए डिज़ाइन की गई एक मैपिंग भाषा, जिसका उपयोग परिवर्तन और मैपिंग के लिए किया जाता है। - क्लाउड-अनुकूल संचालन: स्टेटलेस और क्षैतिज रूप से स्केलेबल, अंतर्निहित मेट्रिक्स और ट्रेसिंग के साथ। README का एक उदाहरण Postgres परिवर्तनों को S3 पर Apache Iceberg तालिकाओं में स्ट्रीम करता है, प्रत्येक स्रोत तालिका के लिए एक Iceberg तालिका बनाता है, और स्कीमा विकास विकल्प दिखाता है। स्थापना विकल्पों में Linux zip डाउनलोड, macOS पर Homebrew, और Docker छवि शामिल हैं। यह एक एकल स्थिर बाइनरी या कंटेनर छवि के रूप में चलता है, जिसे `rpk connect run ./config.yaml` या Docker के माध्यम से माउंटेड कॉन्फ़िगरेशन फ़ाइल या इनलाइन ओवरराइड के साथ लागू किया जाता है। अवलोकनीयता: `/ping` एक लाइवनेस प्रोब है जो हमेशा 200 लौटाता है, और `/ready` एक रेडीनेस प्रोब है जो इनपुट और आउटपुट दोनों कनेक्ट होने पर 200 लौटाता है, अन्यथा 503। मेट्रिक्स को Statsd, Prometheus, एक JSON HTTP एंडपॉइंट और अन्य बैकएंड पर उजागर किया जा सकता है। एंड-टू-एंड पाइपलाइन दृश्यता के लिए OpenTelemetry ट्रेस मूल रूप से उत्सर्जित होते हैं। विस्तारशीलता और विकास: कस्टम प्लगइन्स बनाने के लिए सार्वजनिक Go API दस्तावेज़ित हैं, एक उदाहरण प्लगइन रिपॉजिटरी के साथ। स्रोत से निर्माण के लिए वर्तमान में समर्थित Go संस्करण की आवश्यकता होती है और `task build:all` का उपयोग करता है। बाहरी C लाइब्रेरी (जैसे zmq4) से जुड़ने वाले घटक डिफ़ॉल्ट रूप से बाहर रखे जाते हैं और `x_benthos_extra` बिल्ड टैग के साथ सक्षम किए जा सकते हैं। एक बहु-चरणीय Dockerfile एक न्यूनतम स्क्रैच-आधारित छवि उत्पन्न करता है। परियोजना golangci-lint और gofumpt का उपयोग करती है, जिसमें `task fmt`, `task lint` और `task test` लक्ष्य हैं; अधिकांश एकीकरण परीक्षण Docker कंटेनर शुरू करते हैं और डिफ़ॉल्ट परीक्षण कार्य द्वारा छोड़ दिए जाते हैं।