منصوبے کے بارے میں

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) شامل ہیں۔ - پوسٹگریس، MySQL، MongoDB، Oracle اور MSSQL کے لیے فرسٹ کلاس تبدیلی-ڈیٹا-کیپچر کنیکٹرز، تاکہ ڈیٹا بیس کی تبدیلیاں واقعات کے طور پر پائپ لائنز میں بہتی ہیں۔ - Bloblang، ایک میپنگ زبان جو اسٹریم ڈیٹا کے لیے ڈیزائن کی گئی ہے، تبدیلی اور میپنگ کے لیے استعمال ہوتی ہے۔ - کلاؤڈ کے لیے موزوں آپریشن: بے حالت اور افقی طور پر قابل توسیع، بلٹ ان میٹرکس اور ٹریسنگ کے ساتھ۔ README کی ایک مثال پوسٹگریس کی تبدیلیوں کو S3 پر Apache Iceberg ٹیبلز میں اسٹریم کرتی ہے، ہر سورس ٹیبل کے لیے ایک Iceberg ٹیبل بناتی ہے، اور اسکیما ارتقاء کے اختیارات دکھاتی ہے۔ انسٹالیشن کے اختیارات میں لینکس زپ ڈاؤن لوڈ، macOS پر Homebrew، اور Docker امیج شامل ہیں۔ یہ ایک واحد جامد بائنری یا کنٹینر امیج کے طور پر چلتا ہے، جسے `rpk connect run ./config.yaml` یا Docker کے ذریعے ماؤنٹ شدہ کنفیگ فائل یا ان لائن اوور رائڈز کے ساتھ چلایا جاتا ہے۔ مشاہدہ: `/ping` ایک لائیونس پروب ہے جو ہمیشہ 200 لوٹاتا ہے، اور `/ready` ایک ریڈینیس پروب ہے جو 200 لوٹاتا ہے جب ان پٹ اور آؤٹ پٹ دونوں منسلک ہوں، بصورت دیگر 503۔ میٹرکس Statsd، Prometheus، JSON HTTP اینڈ پوائنٹ اور دیگر بیک اینڈز پر ظاہر کی جا سکتی ہیں۔ OpenTelemetry ٹریسز مقامی طور پر اینڈ ٹو اینڈ پائپ لائن مرئیت کے لیے خارج ہوتے ہیں۔ توسیع اور ترقی: کسٹم پلگ ان بنانے کے لیے عوامی Go APIs دستاویز کی گئی ہیں، ایک مثال پلگ ان ریپوزٹری کے ساتھ۔ سورس سے تعمیر کے لیے ایک موجودہ تعاون یافتہ Go ورژن درکار ہے اور `task build:all` استعمال کرتا ہے۔ بیرونی C لائبریریوں (مثلاً zmq4) سے منسلک اجزاء بطور ڈیفالٹ خارج ہیں اور `x_benthos_extra` بلڈ ٹیگ کے ساتھ فعال کیے جا سکتے ہیں۔ ایک ملٹی اسٹیج Dockerfile ایک کم سے کم اسکریچ پر مبنی امیج تیار کرتا ہے۔ پروجیکٹ golangci-lint اور gofumpt استعمال کرتا ہے، جس میں `task fmt`، `task lint` اور `task test` اہداف ہیں؛ زیادہ تر انٹیگریشن ٹیسٹ Docker کنٹینرز شروع کرتے ہیں اور ڈیفالٹ ٹیسٹ ٹاسک کے ذریعے چھوڑ دیے جاتے ہیں۔