Web_programming
Open in Telegram
Sharif web programming If you have any questions, please feel free to ask(@yumcoder)
Show more1 052
Subscribers
+124 hours
No data7 days
-530 days
Posts Archive
1 052
یکی از منابع بسیار خوب برای آشنایی با raft در لینک زیر آورده شده است. این پروتکل در پیاده سازی سیستم های توزیع شده کاربرد دارد.
http://thesecretlivesofdata.com/raft/
https://raft.github.io/
1 052
یک کاربر در تلگرام چه تعداد connection با سرور دارد:
۱. یکی برای درخواستهای رایج
۴. چهار تا برای upload
۲. دو تا برای دانلود
۱. یکی برای دریافت internal push
۱. یکی برای کارهای موقتی و حساس
1 052
تلگرام چگونه فایل upload میکند:
- بر اساس سرعت اینترنت شما میزان بافر چانک را مشخص یکند
- در حداکثر ۴ connection فایل را به صورت پارت پارت به سرور ارسال میکند (تعداد پارت ها تابعی است بر اساس حجم فایل)
- پس از ارسال همه فایلها یک api دیگر را فراخوانی میکند که وظیفه ان ایجاد فایل نهایی بر روی media data center است و هچنین تنظیمات مرتبط با cdn برای ان فایل (و البته تهیه چند نسخه از فایل)
به عبارت دیگر در حالتی که اینترنت سرعت مناسب دارد فرایند را میتوانید اینگونه تصور کنید ۴ thread در چانک های موازی یک فایل در پوشه tmp سرور ایجاد میکنند وقتی کار پایان یافت بخشهای مختلف با هم ترکیب شده و در مقصد نهایی نوشته میشود. میدانیم که برای این scale حتما از network file system ها و یا فایل سیستمهای توزیع شده استفاده میکنند.
پ.ن. البته با پیچیدگی های کمی بیشتر :)
Available now! Telegram Research 2025 — the year's key insights 
