High Availability و Fault Tolerance
- مدرس : علی بیگدلی
- تاریخ انتشار: 1404/06/27
- تعداد بازدید: 9
ثبت دیدگاه
دیدگاه کاربران (0)
هیچ دیدگاهی ثبت نشده است. میتوانید اولین نفر باشید.
آموزش System Design
جلسات دوره
مقدمهای بر طراحی سیستم
مقدمه ای بر معماری کامپیوتر
تفاوت و تاثیر پردازنده ها در پردازش اطلاعات
تفاوت و تاثیر RAM در عملکرد پاسخ دهی و مدیریت سرویس
تفاوت و تاثیر Disk در عملکرد پاسخ دهی و مدیریت سرویس
چرا دانش شبکه برای توسعه دهنده لازم است
مدل OSI و لایههای آن
TCP vs UDP
HTTP vs HTTPS
مقایسه HTTP/1، HTTP/1.1، HTTP/2 و HTTP/3
بررسی ساختار آدرس URL
تفاوت URL، URI و URN
مقدمه ای بر hashing
مقدمه ای بر UUID
password hash
checksum hash
consistent hashing
لود بالانسینگ (Load Balancing)
الگوریتمهای لود بالانسینگ (Load Balancing Algorithms)
کاربردهای Load Balancing
انواع Load Balancer
Stateless vs. Stateful Load Balancing
High Availability و Fault Tolerance
Scalability و Performance
چالشهای Load Balancer
معرفی API Gateway
کاربردهای API Gateway
مزایا و معایب استفاده از API Gateway
سیستم نام دامنه (DNS – Domain Name System)
فرایند حل و فصل DNS (DNS Resolution Process)
توزیع بار و دسترسی بالا در DNS
انواع رکوردهای DNS و کاربرد آنها
مقدمهای بر کشینگ (Caching)
اهمیت Caching و نقش آن در پروژههای بزرگ
انواع Caching به صورت جامع
Cache Replacement Policies
Cache Invalidation
Cache Read Strategies
Cache Coherence and Consistency Models
Caching Challenges
Cache Performance Metrics
درک اولیه در ratelimit
نیازمندی های یک سیستم مبتنی بر ratelimit
دیزاین و معماری ratelimit
الگوریتم های مختلف در ratelimit
CDN (Content Delivery Network)
Origin Server vs. Edge Server
CDN Architecture
Push CDN vs. Pull CDN
پروکسی سرور (Proxy Server) چیست؟
کاربردهای پروکسی سرور (Uses of Proxies)
چالشهای استفاده از پروکسیها
VPN در مقابل Proxy Server
مقدمهای بر Theorem CAP
Components of CAP Theorem
Trade-offs in CAP Theorem
Examples of CAP Theorem in Practice
فراتر از تئوری CAP
مقدمهای بر پایگاه دادهها
پایگاههای داده SQL
پایگاههای داده NoSQL
مقایسه SQL و NoSQL
Normalization و Denormalization در SQL
In-Memory Database vs. On-Disk Database
Data Replication vs. Data Mirroring
Database Federation
مقدمهای بر Data Partitioning
روشهای Partitioning
تکنیکهای Data Sharding
مزایای Data Partitioning
مشکلات رایج در Data Partitioning
Indexes در پایگاه دادهها
انواع ایندکسها در پایگاه داده
معرفی ساختار key-value store
معماری و طراحی key-value store
اطمینان از Replication و مقیاس پذیری
ورژنسازی داده و تنظیمدهی سیستم
مدیریت خطا و خطایابی در Key-Value Store
ویژگیهای کلیدی در طراحی سیستمهای مقیاسپذیر و توزیعشده
در دسترس بودن (Availability)
مقیاسپذیری (Scalability)
تأخیر و کارایی (Latency and Performance)
همزمانی و هماهنگی (Concurrency and Coordination)
پایش و مشاهدهپذیری (Monitoring and Observability)
تابآوری و مدیریت خطا (Resilience and Error Handling)
تحمل خطا در مقابل دسترسپذیری بالا (Fault Tolerance vs. High Availability)
Redundancy چیست؟
Replication چیست؟
Replication Strategies
مقایسه Data Backup و Disaster Recovery
کش کردن در سیستم های مقیاس پذیر
الگوریتمهای ذخیرهسازی مقیاس پذیر
معماری Distributed Cache
موارد استفاده واقعی Distributed Cache
مسائل و چالشهای Distributed Cache
آشنایی با صف پیام توزیع شده (Distributed Messaging Queue)
نیازمندیهای طراحی یک صف پیام توزیع شده
ملاحظات کلیدی در طراحی صف پیام توزیع شده
معماری سطح بالا در صف پیام توزیع شده
طراحی جزئیات معماری صف پیام توزیعشده
ارزیابی معماری و تصمیمات طراحی
مانیتورینگ چیست
مدلهای مختلف مانیتورینگ
Distributed Monitoring
معماری مانیتورینگ توزیعشده و پیشنیازهای آن
Back-of-the-Envelope Calculation در طراحی سیستم
Authentication
Authorization
Authenticate Requests
Authentication and Authorization Tokens
Distributed Authentication
Distributed Authorization
SSO and Identity Provider