Web_programming
1.14K subscribers
354 photos
14 videos
125 files
1.22K links
Sharif web programming
If you have any questions, please feel free to ask(@yumcoder)
Download Telegram
تلگرام چگونه فایل upload میکند:
- بر اساس سرعت اینترنت شما میزان بافر چانک را مشخص یکند
- در حداکثر ۴ connection فایل را به صورت پارت پارت به سرور ارسال میکند (تعداد پارت ها تابعی است بر اساس حجم فایل)
- پس از ارسال همه فایلها یک api دیگر را فراخوانی میکند که وظیفه ان ایجاد فایل نهایی بر روی media data center است و هچنین تنظیمات مرتبط با cdn برای ان فایل (و البته تهیه چند نسخه از فایل)

به عبارت دیگر در حالتی که اینترنت سرعت مناسب دارد فرایند را میتوانید اینگونه تصور کنید ۴ thread در چانک های موازی یک فایل در پوشه tmp سرور ایجاد میکنند وقتی کار پایان یافت بخشهای مختلف با هم ترکیب شده و در مقصد نهایی نوشته میشود. میدانیم که برای این scale حتما از network file system ها و یا فایل سیستمهای توزیع شده استفاده میکنند.

پ.ن. البته با پیچیدگی های کمی بیشتر :)
یک کاربر در تلگرام چه تعداد connection با سرور دارد:
۱. یکی برای درخواستهای رایج
۴. چهار تا برای upload
۲. دو تا برای دانلود
۱. یکی برای دریافت internal push
۱. یکی برای کارهای موقتی و حساس
یکی از منابع بسیار خوب برای آشنایی با raft در لینک زیر آورده شده است. این پروتکل در پیاده سازی سیستم های توزیع شده کاربرد دارد.
http://thesecretlivesofdata.com/raft/
https://raft.github.io/

#raft
https://llimllib.github.io/bloomfilter-tutorial/
#bloomfilter
کاربرد در پایگاه داده ها