
عنوان:
The Art of Immutable Architecture
نویسنده:
Michael L. Perry
انتشارات:
Apress
تاریخ انتشار:
2024
حجم:
8.19MB
معرفی کتاب:" The Art of Immutable Architecture ،اصول معماری تغییرناپذیر در سیستمهای توزیعشده - ویرایش دوم"
هنر معماری تغییرناپذیر شما را با اصولی آشنا میکند که میتوانید به کمک آنها سیستمهای توزیعشده را از دریچهی اشیای تغییرناپذیر (Immutable Objects) تحلیل، طراحی و پیادهسازی کنید. این کتاب راهنمایی است عملی برای تحلیل مشکلات طراحی سنتی و بازنگری آنها با اصول معماری تغییرناپذیر.
در بیشتر سیستمهای نرمافزاری، تمرکز بر state اشیاء است؛ بهعنوان مثال ذخیرهی وضعیت فعلی ردیفی در پایگاه دادهی رابطهای یا پیگیری تغییرات وضعیت در طول زمان. این روش، فرضهایی دارد که در سیستمهای توزیعشده مانند میکروسرویسها یا اپلیکیشنهای موبایل آفلاین دچار چالش میشود. بسیاری از پیچیدگیها در هماهنگسازی وضعیت بین مؤلفههای ایزولهشده نهفته است.
با خواندن این کتاب، یاد خواهید گرفت که:
- سیستمهای توزیعشده را بر اساس مدل اشیای تغییرناپذیر تحلیل کنید.
- مشکلات رایج طراحی را شناسایی کرده و با اصلاحات کوچک برطرف نمایید.
- اصول معماری تغییرناپذیر را در ابزارهایی مانند SQL، پیامبرها (message queues) و پروتکلهای شبکه پیادهسازی کنید.
- الگوهای طراحی، همگرایی اطلاعات و خصیصههایی مانند eventual consistency را به کار گیرید.
با استفاده از مثالهای عملی و کدهای دستاول، شما به زبان و چارچوبی مجهز خواهید شد که برای تحلیل و ساخت سیستمهای توزیعشده پیچیده نیاز دارید. این کتاب تمرکز ویژهای بر حذف فرضهای قدیمی دارد که مناسب سیستمهای تککاربره و تکدستگاه بودند و اکنون در دنیای cloud computing و تجربههای اشتراکی، ناکارآمد هستند.
آنچه خواهید آموخت
- تحلیل سیستمهای توزیعشده با رویکرد اشیای تغییرناپذیر
- اصلاح معماریهای موجود با تغییرات کوچک ولی مؤثر
- استفاده از الگوهای معماری تغییرناپذیر برای ساخت سیستمهای جدید
- پیادهسازی اصول معماری در ابزارهایی مانند پایگاه داده، message queues و پروتکلهای شبکه
- شناخت ابزارهای نوینی که اصول معماری تغییرناپذیر را بهصورت ذاتی پیاده میکنند
مخاطب این کتاب
این کتاب برای معماران نرمافزار و توسعهدهندگان ارشد نوشته شده است. آشنایی قبلی با محاسبات توزیعشده، مدلسازی دادهها یا تحلیل کسبوکار میتواند مفید باشد. مثالها در زبانهایی مانند SQL، JavaScript و C# آورده شدهاند.
فهرست مطالب
- Table of Contents
- About the Author
- Acknowledgments
- Introduction
- Part I: Definition
- Chapter 1. Why Immutable Architecture
- The Immutability Solution
- The Problems with Immutability
- Redefine the Process
- The Fallacies of Distributed Computing
- Immutability Changes Everything
- The Two Generals’ Problem
- Relaxing Constraints
- Examples of Immutable Architectures
- Chapter 2. Forms of Immutable Architecture
- Deriving State from History
- Event Sourcing
- Model View Update
- Historical Modeling
- Limitations of Historical Modeling
- Chapter 3. How to Read a Historical Model
- Fact Type Graphs
- A Chess Game
- Fact Instance Graphs
- The Immortal Game
- The Factual Modeling Language
- Projections
- Part II: Application
- Chapter 4. Analysis
- Historical Modeling Workshop
- Data
- Views
- Collaboration
- Valid Orderings
- Consequences
- Chapter 5. Location Independence
- Modeling with Immutability
- Synchronization
- Guarantees
- Identity
- Causality
- The CAP Theorem
- Eventual Consistency
- Conflict-Free Replicated Data Types (CRDTs)
- A History of Facts
- Conclusion
- Chapter 6. Immutable Runtimes
- When Architecture Depends Upon the Domain
- Replicators
- Specifications
- Versioning
- Jinaga
- Chapter 7. Patterns
- Structural Patterns
- Application Patterns
- Designing from Constraints
- Chapter 8. State Transitions
- Many Properties
- Many Children
- Conditional Validation
- The Question Behind State
- Single Source of Truth
- Workflow Patterns
- Chapter 9. Security
- Proof of Authorship
- Authorization
- Grant of Authority
- Confidentiality
- Secrecy
- Part III: Implementation
- Chapter 10. SQL Databases
- Identity
- Relationships
- Queries
- Optimization
- Integration
- Chapter 11. Communication
- Delivery Guarantees
- Message Processing
- Data Synchronization
- Outbox
- Chapter 12. Feeds
- Interest
- Tuples
- Generating Feeds
- Bookmarks
- Security
- Losing Interest
- Implementations
- Chapter 13. Inversion
- Mechanizing the Problem
- The Affected Set
- Targeted Updates
- Computing Inverses
- Consequences of Inversion
- Index
مشخصات
نام کتاب
The Art of Immutable Architecture: Theory and Practice of Data Management in Distributed Systems, Second Edition
نویسنده
Michael L. Perry
انتشارات
Apress
تاریخ انتشار
2024
ISBN
9798868802874
تعداد صفحات
497
زبان
انگلیسی
فرمت
حجم
8.19MB
موضوع
Software Development