نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره:
ساختن یک برنامه متمرکز قابل اعتماد به اندازه کافی سخت است ، اما سیستم های توزیع شده نیاز به توجه بیشتری دارند. این دوره مفاهیم مهم و الگوهای اساسی سیستم های توزیع شده قابل اعتماد را به شما می آموزد. ساخت سیستم های توزیع شده سخت ، اجرای آن پیچیده و فهم آنها دشوار است. اگر به یکی احتیاج دارید ، دلیلش این است که یک برنامه متمرکز کار نمی کند. در این دوره ، مبانی سیستم های توزیع شده ، خواهید آموخت که چگونه سیستم های پیچیده ای را ایجاد کنید که از خدمات ضعیف متصل شده اند. ابتدا خصوصیات یک سرویس قابل اعتماد را کشف خواهید کرد. در مرحله بعدی ، نحوه اتصال سرویس ها به یکدیگر با استفاده از پیام ها و API ها را کشف خواهید کرد. در نهایت ، نحوه استفاده از الگوها را برای مقابله با مشکلات مشارکتی سخت خواهید آموخت. پس از اتمام این دوره ، مهارت ها و دانش سیستم های توزیع شده مورد نیاز برای طراحی و عملکرد نرم افزار در مقیاس جهانی را خواهید داشت.
سرفصل ها و درس ها
مروری بر دوره
Course Overview
-
مروری بر دوره
Course Overview
طراحی برنامه های کاربردی قابل اعتماد
Designing Reliable Applications
-
شهروند توزیع شده خوب بودن
Being a Good Distributed Citizen
-
مغالطه های محاسبه توزیع شده
Fallacies of Distributed Computing
-
مشکلات CRUD
The Problems with CRUD
-
ناتوانی
Idempotence
-
رفتار CRUD پیش فرض
Default CRUD Behavior
-
شناسه سمت مشتری
Client-side ID
-
CQRS
CQRS
-
داده غیرقابل تغییر
Immutable Data
-
عکسهای فوری و سنگ قبرها
Snapshots and Tombstones
-
مهاجرت به سوابق غیرقابل تغییر
Migrating to Immutable Records
-
استقلال مکان
Location Independence
-
ذخیره سازی مخاطب محتوا
Content-addressed Storage
-
نسخه بندی داده ها
Versioning Data
-
درحال نسخه دهی API ها
Versioning APIs
-
بررسی اجمالی یک برنامه قابل اطمینان
Overview of a Reliable Application
خدمات اتصال
Connecting Services
-
سرویس جستجو
The Search Service
-
مناسبت ها
Events
-
منتشر-مشترک شوید
Publish-subscribe
-
انتشار در RabbitMQ
Publish to RabbitMQ
-
تعامل
Commutativity
-
کنترل کننده پیام های محرمانه
Commutative Message Handlers
-
ثبات نهایی
Eventual Consistency
-
ایجاد و حفظ ارتباطات
Making and Maintaining Connections
شناسایی مرزهای خدمات
Identifying Service Boundaries
-
چرا خدمات جدا می شوند؟
Why Separate Services?
-
طوفان رویداد
Event Storming
-
قانون کانوی
Conway's Law
-
تعریف مصالح کلی
Defining Aggregates
-
مدل سازی تاریخی
Historical Modeling
-
طراحی خدمات
Service Design
استناد به فرایندهای تجاری
Invoking Business Processes
-
همکاری با یکدیگر
Working Together
-
اتصال موقتی
Temporal Coupling
-
همزمان در مقابل پروتکل های آسنکرون
Synchronous vs. Asynchronous Protocols
-
انتخاب پروتکل
Choosing a Protocol
-
ارسال یک فرمان به صورت غیر همزمان
Send a Command Asynchronously
-
ادغام در درزها
Integration at the Seams
-
ساخت بسته های قرارداد
Build Contract Packages
-
عبور از مرزهای سازمان
Crossing Organization Boundaries
-
طراحی API
API Design
-
توزیع فرایند تجاری
Distributing a Business Process
ادامه دادن کارها
Keeping Things Running
-
جعل تیم پلتفرم
Forging a Platform Team
-
مستندات عملیاتی
Operational Documentation
-
پایگاه های کاربردی
Application Databases
-
نقشه وابستگی به برنامه
Application Dependency Map
-
مشکلات و کاهش
Problems and Mitigations
-
معیارهای صف
Queue Metrics
-
صف های نامه مرده
Dead Letter Queues
-
ثبت موثر
Effective Logging
-
ردیابی همبسته
Correlated Tracing
-
تمرینات عمدی
Deliberate Practices
مدیریت سناریوهای پیچیده
Managing Complex Scenarios
-
کسب و کار چگونه کار می کند
How Business Works
-
متغیرهای متغیر
Invariants
-
ساگاس
Sagas
-
از رویدادها تا ایالات
From Events to States
-
جبران معاملات
Compensating Transactions
-
تشخیص و کاهش شکست
Detecting and Mitigating Failure
-
کاهش مشاجره
Reducing Contention
-
ارزش ساختمان
Building Value
نمایش نظرات