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

## تعارف canal [kə'næl] کا مطلب آبی گزرگاہ/پائپ/کھائی ہے۔ بنیادی مقصد MySQL ڈیٹا بیس کی اضافی لاگ (incremental log) کے تجزیہ پر مبنی اضافی ڈیٹا کی سبسکرپشن اور صارفیت فراہم کرنا ہے۔ ابتدائی دور میں Alibaba کو کراس ڈیٹا سینٹر ہم آہنگی کی ضرورت کی وجہ سے، کاروباری trigger طریقہ سے آہستہ آہستہ ڈیٹا بیس لاگ تجزیہ کی طرف منتقل ہوا، جس سے بڑی تعداد میں اضافی سبسکرپشن اور صارفیت کے کاروبار وجود میں آئے۔ لاگ کی اضافی سبسکرپشن اور صارفیت پر مبنی کاروبار شامل ہیں: ڈیٹا بیس آئینہ، ڈیٹا بیس ریئل ٹائم بیک اپ، انڈیکس تعمیر اور ریئل ٹائم دیکھ بھال (اسپلٹ ہیٹروجینیئس انڈیکس، الٹا انڈیکس وغیرہ)، کاروباری کیش ریفریش، کاروباری منطق کے ساتھ اضافی ڈیٹا پروسیسنگ۔ موجودہ canal معاون MySQL ورژن میں 5.1.x، 5.5.x، 5.6.x، 5.7.x، 8.0.x شامل ہیں۔ ## کام کرنے کا اصول ### MySQL ماسٹر-غلام نقل کا اصول - MySQL ماسٹر ڈیٹا تبدیلیوں کو بائنری لاگ میں لکھتا ہے (binary log، بائنری لاگ واقعات کے طور پر ریکارڈ کیا جاتا ہے) - MySQL غلام ماسٹر کے binary log واقعات کو ریلے لاگ (relay log) میں کاپی کرتا ہے - MySQL غلام ریلے لاگ میں موجود واقعات کو دوبارہ چلا کر ڈیٹا کی تبدیلیوں کو اپنے ڈیٹا میں ظاہر کرتا ہے ### canal کام کرنے کا اصول - canal MySQL غلام کے تعامل پروٹوکول کی نقل کرتا ہے، خود کو MySQL غلام کے طور پر ظاہر کرتا ہے، اور MySQL ماسٹر کو ڈمپ پروٹوکول بھیجتا ہے - MySQL ماسٹر ڈمپ درخواست وصول کرنے کے بعد، بائنری لاگ کو canal کی طرف دھکیلنا شروع کرتا ہے - canal بائنری لاگ آبجیکٹ کا تجزیہ کرتا ہے (اصل میں بائٹ اسٹریم) ## اہم ورژن اپ ڈیٹ کی وضاحت ### canal 1.1.x ورژن - مجموعی کارکردگی ٹیسٹ اور اصلاح، 150% بہتری (#726) - مقامی طور پر Prometheus مانیٹرنگ کی حمایت (#765) - مقامی طور پر Kafka پیغام کی ترسیل کی حمایت (#695) - مقامی طور پر Alibaba Cloud RDS کے binlog سبسکرپشن کی حمایت (خودکار ماسٹر-غلام سوئچنگ / oss binlog آف لائن تجزیہ حل) - مقامی طور پر Docker امیج کی حمایت (#801) ### canal 1.1.4 ورژن - WebUI صلاحیت متعارف کرائی گئی، نیا canal-admin پروجیکٹ شامل کیا گیا، جو WebUI پر مبنی canal متحرک انتظام کی حمایت کرتا ہے، بشمول کنفیگریشن، ٹاسک، لاگز وغیرہ کی آن لائن وائٹ اسکرین آپریشن اور دیکھ بھال کی صلاحیت ## دستاویزات مکمل دستاویزات فراہم کی گئی ہیں، بشمول Home، Introduction، QuickStart (Docker، Kafka/RocketMQ، Alibaba Cloud RDS، Prometheus)، Canal Admin (QuickStart، Guide، ServerGuide، Docker)، AdminGuide، ClientExample، ClientAPI، Performance، DevGuide، BinlogChange (MySQL 5.6/MariaDB)، TableMetaTSDB، ReleaseNotes، Download، FAQ۔ ## کثیر لسانی canal کلائنٹ-سرور وضع اختیار کرتا ہے، تعامل پروٹوکول protobuf 3.0 استعمال کرتا ہے، کلائنٹ مختلف زبانوں میں صارفیت کی منطق نافذ کر سکتے ہیں: - Java کلائنٹ: سرکاری مثال - C# کلائنٹ: CanalSharp - Go کلائنٹ: canal-go - PHP کلائنٹ: canal-php - Python کلائنٹ: canal-python - Rust کلائنٹ: canal-rs - Nodejs کلائنٹ: canal-nodejs canal MySQL binlog اضافی حصول اور تجزیہ کے آلے کے طور پر، تبدیلی کے ریکارڈ کو MQ سسٹم (جیسے Kafka/RocketMQ) میں پہنچا سکتا ہے، MQ کی کثیر لسانی صلاحیت کی مدد سے۔ ## canal کی بنیاد پر تیار کردہ ٹولز - canal2sql (binlog کی بنیاد پر SQL تیار کرتا ہے) ## متعلقہ اوپن سورس اور مصنوعات - canal صارفیت کے اختتامی اوپن سورس پروجیکٹ: Otter - Alibaba کا Oracle سے ڈیٹا مائیگریشن سنک ٹول: yugong - Alibaba کا آف لائن سنک اوپن سورس پروجیکٹ: DataX - Alibaba کا ڈیٹا بیس کنکشن پول اوپن سورس پروجیکٹ: Druid - Alibaba کا ریئل ٹائم ڈیٹا سنک ٹول: DTS ## مسئلے کی رپورٹنگ - مسئلہ رپورٹ کریں: GitHub Issues - پروجیکٹ کے Issues Alibaba Cloud ڈویلپر کمیونٹی میں بھی جمع کیے جاتے ہیں