این ویدیو برای آشنایی با ایدهها و مفاهیم اولیه سیستم دیزاین خیلی جالب و کاربردی است، چون به جای اصطلاحات پیچیده، مسیر رشد یک سیستم را قدمبهقدم از پایه توضیح میدهد.
یک معماری ساده با یک سرور و یک دیتابیس تا هزاران کاربر ابتدایی را بدون هیچ مشکلی پاسخ میدهد. وقتی ترافیک بالاتر میرود:
۱. ابتدا ارتقای عمودی سختافزار (Vertical Scaling) ارزانترین و سریعترین راهکار است.
۲. با عبور از سقف عمودی، افزودن سرورهای افقی (Horizontal Scaling) پشت یک لود بالانسر و انتقال استیت به یک Shared Session Store مطرح میشود تا وبسرورها Stateless بمانند.
۳. برای رفع گلوگاه دیتابیس، جداسازی کوئریهای خواندن از نوشتن با Read Replicas و بهینهسازی کانکشنها با Connection Pooling انجام میگیرد.
۴. کشگذاری نتایج پرمصرف و انتقال پردازشهای کند به صفهای ناهمگام (Message Queues) تجربه کاربری را سریع نگه میدارد.
۵. در مقیاسهای بسیار بزرگ، شاردینگ (Database Sharding) کلید حل محدودیت ذخیرهسازی است، هرچند چالش کوئریهای چندشاردی (Cross-shard) هزینه معماری را بالا میبرد.
لینک ویدیو در یوتیوب:
https://youtu.be/EaXHfuHRWwg?is=vh0584CE9jRabAsq
@DevTwitter | <Mehdi Allahyari/>
Post #13177
7.77K
- 👍 16
- ❤ 8
- 👎 1