شرکت OpenAI چگونه کلاستر های کافکای خود را پایدار کرد و توان عملیاتی خود را ۲۰ برابر کرد؟ 🚀
در یک سال گذشته، OpenAI توان عملیاتی Kafka را در بیش از ۳۰ خوشه، بیست برابر افزایش داد و به پایداری خیرهکننده ۹۹.۹۹۹٪ (پنج ۹) دست یافت. در ادامه، به سه بخش کلیدی این تحول میپردازیم:
🟩 ۱. گروهبندی خوشهها (Cluster Groups)
چالش: با بیش از ۳۰ خوشه Kafka در محیطهای متفاوت (هر کدام با تنظیمات مخصوص، احراز هویتهای پراکنده و قوانین فایروال خاص خود)، استفاده از سیستم بسیار پیچیده شده بود. کاربران نمیدانستند برای ذخیره یا خواندن داده باید به کدام خوشه متصل شوند و سؤالات مکرری مثل «تاپیک X کجاست؟» زمان توسعه را تلف میکرد. اگر یکی از خوشهها از کار میافتاد، کاربران باید بهصورت دستی به خوشه دیگری مهاجرت میکردند، که هم وقتگیر بود و هم مستعد خطا.
راهحل: OpenAI خوشهها را به شکل گروههای خوشهای درآورد؛ یعنی مجموعهای از خوشهها که در یک منطقه جغرافیایی قرار دارند (مثلاً آمریکا یا اروپا) و با هم یک گروه منطقی را تشکیل میدهند. کاربران حالا با «تاپیکهای منطقی» کار میکنند که بهصورت خودکار به تاپیکهای فیزیکی در خوشههای مختلف همان گروه متصل میشوند. این ساختار، زیرساخت پیچیده را از دید کاربران پنهان میکند و در صورت خرابی یک خوشه، خوشههای دیگر گروه جایگزین میشوند.
🟨 ۲. پراکسی تولیدکننده : Prism
چالش: پیش از این، هر اپلیکیشنی که داده تولید میکرد، مستقیماً به Kafka متصل میشد. این مدل باعث ایجاد تا ۵۰ هزار اتصال همزمان به هر بروکر میشد که منجر به مصرف شدید حافظه و کاهش پایداری میگردید. همچنین، توسعهدهندگان باید تنظیمات پیچیدهای مانند لیست بروکرها، پورتها، و احراز هویت را بهصورت دستی انجام میدادند. اگر یک خوشه از دسترس خارج میشد، برنامهها باید دستی به خوشه دیگری متصل میشدند، که منجر به خطا و قطعی میشد.
راهحل: OpenAI یک پراکسی به نام Prism ایجاد کرد که با استفاده از gRPC بهعنوان واسط ارتباطی، پیچیدگی Kafka را از کاربران پنهان میسازد. برنامهها فقط داده را به Prism میفرستند و Prism مسئول هدایت آن به بروکرهای مناسب است. در صورت خرابی یک خوشه، دادهها بهطور خودکار به خوشههای دیگر گروه ارسال میشود.
🟧 ۳. پراکسی مصرفکننده : uForwarder
چالش: مصرفکنندگان Kafka هم با مشکلاتی مشابه روبهرو بودند. برنامهها باید بهصورت دستی تنظیمات Kafka، انتخاب خوشه، مدیریت offset و احراز هویت را انجام میدادند. این فرآیند زمانبر و مستعد خطا بود. از طرف دیگر، مدل pull سنتی Kafka برای خواندن دادهها، موجب تأخیر و محدودیت در مصرف همزمان میشد. در صورت خرابی خوشهها، اتصال مجدد مصرفکنندگان به صورت دستی نیاز بود، که کارآمد نبود.
راهحل: OpenAI از uForwarder (یک پروژه متنباز از Uber) بهره گرفت که مدل مصرف را از pull به push تغییر میدهد. در این مدل، uForwarder خودش دادهها را از Kafka دریافت کرده و به اپلیکیشنها تحویل میدهد. این پراکسی ویژگیهای پیشرفتهای دارد مثل: بازارسال خودکار، صف پیامهای ناموفق (DLQ)، مصرف همزمان از چند خوشه، و موازیسازی پیشرفته. همچنین از مشکلاتی مثل Head-of-Line Blocking جلوگیری میکند.
نتیجه: مصرفکنندگان میتوانند بدون دانش خاصی از Kafka دادهها را دریافت کنند؛ توسعه آسانتر، پایداری بالاتر و عملکرد مقیاسپذیرتر حاصل شد.
منبع:
https://lnkd.in/dVpS5ZaD
در یک سال گذشته، OpenAI توان عملیاتی Kafka را در بیش از ۳۰ خوشه، بیست برابر افزایش داد و به پایداری خیرهکننده ۹۹.۹۹۹٪ (پنج ۹) دست یافت. در ادامه، به سه بخش کلیدی این تحول میپردازیم:
🟩 ۱. گروهبندی خوشهها (Cluster Groups)
چالش: با بیش از ۳۰ خوشه Kafka در محیطهای متفاوت (هر کدام با تنظیمات مخصوص، احراز هویتهای پراکنده و قوانین فایروال خاص خود)، استفاده از سیستم بسیار پیچیده شده بود. کاربران نمیدانستند برای ذخیره یا خواندن داده باید به کدام خوشه متصل شوند و سؤالات مکرری مثل «تاپیک X کجاست؟» زمان توسعه را تلف میکرد. اگر یکی از خوشهها از کار میافتاد، کاربران باید بهصورت دستی به خوشه دیگری مهاجرت میکردند، که هم وقتگیر بود و هم مستعد خطا.
راهحل: OpenAI خوشهها را به شکل گروههای خوشهای درآورد؛ یعنی مجموعهای از خوشهها که در یک منطقه جغرافیایی قرار دارند (مثلاً آمریکا یا اروپا) و با هم یک گروه منطقی را تشکیل میدهند. کاربران حالا با «تاپیکهای منطقی» کار میکنند که بهصورت خودکار به تاپیکهای فیزیکی در خوشههای مختلف همان گروه متصل میشوند. این ساختار، زیرساخت پیچیده را از دید کاربران پنهان میکند و در صورت خرابی یک خوشه، خوشههای دیگر گروه جایگزین میشوند.
🟨 ۲. پراکسی تولیدکننده : Prism
چالش: پیش از این، هر اپلیکیشنی که داده تولید میکرد، مستقیماً به Kafka متصل میشد. این مدل باعث ایجاد تا ۵۰ هزار اتصال همزمان به هر بروکر میشد که منجر به مصرف شدید حافظه و کاهش پایداری میگردید. همچنین، توسعهدهندگان باید تنظیمات پیچیدهای مانند لیست بروکرها، پورتها، و احراز هویت را بهصورت دستی انجام میدادند. اگر یک خوشه از دسترس خارج میشد، برنامهها باید دستی به خوشه دیگری متصل میشدند، که منجر به خطا و قطعی میشد.
راهحل: OpenAI یک پراکسی به نام Prism ایجاد کرد که با استفاده از gRPC بهعنوان واسط ارتباطی، پیچیدگی Kafka را از کاربران پنهان میسازد. برنامهها فقط داده را به Prism میفرستند و Prism مسئول هدایت آن به بروکرهای مناسب است. در صورت خرابی یک خوشه، دادهها بهطور خودکار به خوشههای دیگر گروه ارسال میشود.
🟧 ۳. پراکسی مصرفکننده : uForwarder
چالش: مصرفکنندگان Kafka هم با مشکلاتی مشابه روبهرو بودند. برنامهها باید بهصورت دستی تنظیمات Kafka، انتخاب خوشه، مدیریت offset و احراز هویت را انجام میدادند. این فرآیند زمانبر و مستعد خطا بود. از طرف دیگر، مدل pull سنتی Kafka برای خواندن دادهها، موجب تأخیر و محدودیت در مصرف همزمان میشد. در صورت خرابی خوشهها، اتصال مجدد مصرفکنندگان به صورت دستی نیاز بود، که کارآمد نبود.
راهحل: OpenAI از uForwarder (یک پروژه متنباز از Uber) بهره گرفت که مدل مصرف را از pull به push تغییر میدهد. در این مدل، uForwarder خودش دادهها را از Kafka دریافت کرده و به اپلیکیشنها تحویل میدهد. این پراکسی ویژگیهای پیشرفتهای دارد مثل: بازارسال خودکار، صف پیامهای ناموفق (DLQ)، مصرف همزمان از چند خوشه، و موازیسازی پیشرفته. همچنین از مشکلاتی مثل Head-of-Line Blocking جلوگیری میکند.
نتیجه: مصرفکنندگان میتوانند بدون دانش خاصی از Kafka دادهها را دریافت کنند؛ توسعه آسانتر، پایداری بالاتر و عملکرد مقیاسپذیرتر حاصل شد.
منبع:
https://lnkd.in/dVpS5ZaD
Linkedin
OpenAI’s Kafka throughput grew 20x in the last year across 30+ clusters. | Stanislav Kozlovski
OpenAI’s Kafka throughput grew 20x in the last year across 30+ clusters.
Their setup achieves five 9s (99.999%).
Here’s how they did it 👇
〰️〰️〰️〰️
🟩 𝗖𝗹𝘂𝘀𝘁𝗲𝗿 𝗚𝗿𝗼𝘂𝗽𝘀
They group clusters into groups. Each cluster lives in a separate region.
Through an…
Their setup achieves five 9s (99.999%).
Here’s how they did it 👇
〰️〰️〰️〰️
🟩 𝗖𝗹𝘂𝘀𝘁𝗲𝗿 𝗚𝗿𝗼𝘂𝗽𝘀
They group clusters into groups. Each cluster lives in a separate region.
Through an…
👏2👍1
دو منبع عالی برای یادگیری سریع و عمیق Airflow 3 📚
چند ماه از انتشار رسمی Airflow 3 میگذرد و حالا وقت آن است که ببینیم دقیقاً چه چیزهایی تغییر کرده و چرا این نسخه نقطه عطف مهمی در مسیر این پلتفرم محبوب مدیریت جریان کاری داده (workflow orchestration) محسوب میشود.
در این نوشته میخواهیم دو منبع فوقالعاده را معرفی کنیم که بهجای خواندن دهها صفحه مستندات یا تماشای ویدیوهای پراکنده، شما را مستقیم و مؤثر به قلب Airflow 3 میبرند.
گاهی برای درک عمیقتر و تجربهی واقعی، باید سراغ منابعی رفت که با نگاه حرفهای نوشته شدهاند - منابعی که نهتنها توضیح میدهند چطور کار میکند، بلکه کمک میکنند در عمل بهتر بسازید.
حالا که چند ماه از انتشار نسخه ۳ میگذرد، اگر هنوز با نسخه ۲ کار میکنید، باید بدانید از خیلی از قابلیتهای جدید و بهینهسازیهای Airflow 3 بینصیب ماندهاید.
دو منبع زیر بهترین نقطهی شروع برای درک تفاوتها و یادگیری عملی نسخه ۳ هستند 👇
1️⃣ جزوه مروری بر امکانات ایرفلو ۳ از Astronomer
یک مرور سریع و فشرده (حدود ۹ صفحه) از همهی قابلیتهای جدید Airflow 3 - ایدهآل برای کسانی که میخواهند در چند دقیقه بفهمند دقیقاً چه تغییراتی در انتظارشان است. البته با این پیشفرض که با ایرفلو قبلا آشنا هستید.
2️⃣ کتاب Practical Guide to Apache Airflow 3 از Manning
از ساخت اولین pipeline تا معماری جدید، UI بهروز، نسخهبندی DAGها و حتی اجرای inference با OpenAI - همهچیز در قالب مثالهای عملی و توضیحات تصویری ارائه شده است آنهم در ۱۴۰ صفحه، مفید و مختصر
📘 فهرست فصلها در یک نگاه:
✅آشنایی با Airflow 3
✅ساخت اولین pipeline
✅قابلیت اطمینان و زمانبندی
✅ واسط کاربری جدید و DAG Versioning
✅معماری داخلی نسخه ۳
✅حرکت به محیط Production
✅اجرای inference
✅مهاجرت از نسخه ۲
✅آینده Airflow
💡 اگر به دنبال یادگیری جدی نسخه ۳ و امکانات جذاب و کاربردی آن هستید:
✨ با جزوه Astronomer شروع کنید تا دید کلی بگیرید،
✨ و سپس با کتاب Manning جلو بروید تا Airflow 3 را بهصورت عملی و حرفهای تجربه کنید.
برای دانلود این دو pdf به دو پست قبلی، مراجعه کنید. 👆👆👆
کانال مدرسه مهندسی داده سپَهرام : آموزشهای تخصصی مهندسی داده : @sepahram_school
#ApacheAirflow #DataEngineering #ETL #WorkflowAutomation #ManningBooks #Astronomer #OpenAI #Airflow3 #DataOps
چند ماه از انتشار رسمی Airflow 3 میگذرد و حالا وقت آن است که ببینیم دقیقاً چه چیزهایی تغییر کرده و چرا این نسخه نقطه عطف مهمی در مسیر این پلتفرم محبوب مدیریت جریان کاری داده (workflow orchestration) محسوب میشود.
در این نوشته میخواهیم دو منبع فوقالعاده را معرفی کنیم که بهجای خواندن دهها صفحه مستندات یا تماشای ویدیوهای پراکنده، شما را مستقیم و مؤثر به قلب Airflow 3 میبرند.
گاهی برای درک عمیقتر و تجربهی واقعی، باید سراغ منابعی رفت که با نگاه حرفهای نوشته شدهاند - منابعی که نهتنها توضیح میدهند چطور کار میکند، بلکه کمک میکنند در عمل بهتر بسازید.
حالا که چند ماه از انتشار نسخه ۳ میگذرد، اگر هنوز با نسخه ۲ کار میکنید، باید بدانید از خیلی از قابلیتهای جدید و بهینهسازیهای Airflow 3 بینصیب ماندهاید.
دو منبع زیر بهترین نقطهی شروع برای درک تفاوتها و یادگیری عملی نسخه ۳ هستند 👇
1️⃣ جزوه مروری بر امکانات ایرفلو ۳ از Astronomer
یک مرور سریع و فشرده (حدود ۹ صفحه) از همهی قابلیتهای جدید Airflow 3 - ایدهآل برای کسانی که میخواهند در چند دقیقه بفهمند دقیقاً چه تغییراتی در انتظارشان است. البته با این پیشفرض که با ایرفلو قبلا آشنا هستید.
2️⃣ کتاب Practical Guide to Apache Airflow 3 از Manning
اگر میخواهید با Airflow 3 بهصورت واقعی و پروژهمحور کار کنید، این کتاب انتخاب فوقالعادهای است.
از ساخت اولین pipeline تا معماری جدید، UI بهروز، نسخهبندی DAGها و حتی اجرای inference با OpenAI - همهچیز در قالب مثالهای عملی و توضیحات تصویری ارائه شده است آنهم در ۱۴۰ صفحه، مفید و مختصر
📘 فهرست فصلها در یک نگاه:
✅آشنایی با Airflow 3
✅ساخت اولین pipeline
✅قابلیت اطمینان و زمانبندی
✅ واسط کاربری جدید و DAG Versioning
✅معماری داخلی نسخه ۳
✅حرکت به محیط Production
✅اجرای inference
✅مهاجرت از نسخه ۲
✅آینده Airflow
💡 اگر به دنبال یادگیری جدی نسخه ۳ و امکانات جذاب و کاربردی آن هستید:
✨ با جزوه Astronomer شروع کنید تا دید کلی بگیرید،
✨ و سپس با کتاب Manning جلو بروید تا Airflow 3 را بهصورت عملی و حرفهای تجربه کنید.
برای دانلود این دو pdf به دو پست قبلی، مراجعه کنید. 👆👆👆
کانال مدرسه مهندسی داده سپَهرام : آموزشهای تخصصی مهندسی داده : @sepahram_school
#ApacheAirflow #DataEngineering #ETL #WorkflowAutomation #ManningBooks #Astronomer #OpenAI #Airflow3 #DataOps
👍3