رونمایی از API جدید MoQ: امکان ایجاد relayهای ایزوله برای اپلیکیشن‌ها 🚀

سال گذشته، ما قابلیت Media over QUIC (MoQ) را روی تمامی سرورهای Cloudflare فعال کردیم و شبکه را برای آزمایش عمومی باز گذاشتیم. این کار یک endpoint جهانی برای MoQ فراهم کرد، اما کنترل‌های جداسازی و دسترسی لازم برای اجرای یک اپلیکیشن تولیدی را فراهم نمی‌کرد.

الان امکان‌های ایزوله‌سازی و کنترل دسترسی را اضافه کردیم. API جدید MoQ به شما اجازه می‌دهد تا برای اپلیکیشن‌تان یک relay ایزوله ایجاد کنید و برای انتشاردهندگان (publisher) و مشترکین (subscriber) اعتبارنامه‌های جداگانه صادر کنید. relayهایی که می‌سازید ظرف چند ثانیه در سراسر شبکه Cloudflare در دسترس قرار می‌گیرند و نیاز به راه‌اندازی، سایز‌دهی یا load balancing سرور ندارید ⚙️📡

Cloudflare از نسخه‌های draft-14 و draft-16 پروتکل MoQ Transport همراه با پشتیبانی از authentication پشتیبانی می‌کند.

می‌توانید relayها را از طریق API یا داشبورد Cloudflare ایجاد کنید. استفاده از این سرویس در دورهٔ beta کاملاً رایگان است 👍

خلاصه‌ای از QUIC و MoQ

MoQ (که در ابتدا مخفف Media over QUIC بود) یک پروتکل باز جدید است که در حال توسعه توسط Internet Engineering Task Force (IETF) است؛ همان سازمان استانداردسازی که HTTP، TLS و QUIC را استاندارد کرد. توسعهٔ MoQ به‌صورت open انجام می‌شود و در نهایت به‌عنوان یک استاندارد عمومی (RFC) منتشر خواهد شد—بدون مالکیت انحصاری از سوی هیچ شرکت خاصی.

MoQ یک سیستم publish/subscribe است. یک publisher جریان‌های داده‌ای را ارسال می‌کند که اسم دارند و subscribers با اسم آن جریان‌ها را درخواست می‌کنند. بین این دو، relayها قرار دارند که در عمل CDN serverهایی هستند که هر جریان را برای همهٔ علاقه‌مندان تکثیر می‌کنند. یک relay نیازی به بررسی محتوای داده‌ای که منتقل می‌کند ندارد، بنابراین یک publisher می‌تواند بدون مدیریت fan-out از جانب خودش، به جمعیت زیادی برسد.

این طراحی چند نکتهٔ مهم برای تیم‌های DevOps / SRE دارد: relayها چون نیازی به inspect payload ندارند، به‌راحتی می‌توانند مقیاس‌پذیر شوند و نگرانی‌های حریم خصوصی را کاهش دهند؛ latency و بار روی origin پایین می‌آید؛ و از آنجا که relayها در edge توزیع شده‌اند، دسترسی جهانی و نزدیک بودن به مصرف‌کننده‌ها را فراهم می‌کنند 🌍⚡

در عمل، برای شما به‌عنوان مهندس SRE این یعنی: مدیریت ساده‌تر capacity (چون خبری از fan-out روی origin نیست)، امکان صدور و چرخش credentials برای publisher/ subscriber به‌صورت مجزا، و راه‌اندازی سریع relay بدون provisioning سرور. با این حال باید به موضوعات زیر توجه کنید:

• احراز هویت و مدیریت کلیدها: از آنجایی که credentialها جدا هستند، پروسهٔ secure issuance و rotation باید بخشی از automation شما باشد. 🔐
• مانیتورینگ و observability: relayها در edge کار می‌کنند؛ مطمئن شوید metrics و logs مناسب (تأخیر، خطاها، throughput) به سامانهٔ مرکزی شما ارسال می‌شود تا alerting و post-mortem‌ امکان‌پذیر باشد. 📈
• تست در برابر نسخه‌های draft: شما در حال کار با draft-14 و draft-16 هستید؛ برای سازگاری و regression testing آمادگی داشته باشید.🧪

در مجموع، این API به teams امکان می‌دهد که سریع‌تر سرویس‌های انتشار/اشتراک رسانه‌ای مبتنی بر MoQ را بدون مدیریت زیرساخت‌های پیچیده پیاده‌سازی کنند. اگر می‌خواهید تست کنید یا relay ایزوله‌ای برای اپلیکیشن‌تان بسازید، از طریق API یا داشبورد اقدام کنید — دورهٔ beta رایگان است و این فرصت خوبی برای گرفتن بازخورد عملی و آزمایش رفتار در مقیاس واقعی است 🚀