
عنوان:
Building Microservices: Designing Fine-Grained Systems Edition: 2
نویسنده:
Sam Newman
انتشارات:
O'Reilly Media City: Sebastopol, CA
نسخه:
حجم:
11MB
معرفی کتاب: "طراحی سیستمهای خرد: ساخت مایکروسرویسها – ویرایش دوم"
با حرکت سازمانها از اپلیکیشنهای یکپارچه به سمت میکروسرویسهای کوچک و مستقل، سیستمهای توزیعشده نیز پیچیدهتر و ریزدانهتر شدهاند.
کتاب Building Microservices – Second Edition نوشته Sam Newman، با رویکردی جامع و بهروز، به بررسی اصول طراحی، توسعه، تست و مدیریت معماری میکروسرویسها میپردازد. این نسخه گسترشیافته، با مثالهای واقعی و توصیههای کاربردی، به معماران نرمافزار، برنامهنویسان، تستکنندگان و مدیران عملیات کمک میکند تا با چالشهای معماریهای مدرن روبرو شوند.
چه چیزهایی یاد میگیرید؟
- ✔ هم راستا کردن طراحی سیستم با اهداف کسبوکار و سازمان
- ✔ درک مدلسازی میکروسرویسها و جداسازی صحیح مسئولیتها
- ✔ گزینههای مختلف برای یکپارچهسازی سرویسها با یکدیگر
- ✔ استقرار مستقل سرویسها با کمک ارکستراسیون کانتینرها مانند Kubernetes
- ✔ آشنایی با معماری سرورلس و کاربرد آن در توسعه مدرن
- ✔ بررسی پیچیدگیهای تست و مانیتورینگ سیستمهای توزیعشده
- ✔ مدیریت امنیت در سطح کاربر-به-سرویس و سرویس-به-سرویس
مناسب برای چه کسانی است؟
این کتاب برای مهندسان نرمافزار، معماران سیستم، مدیران DevOps و تمامی افرادی که با سیستمهای بزرگ و توزیعشده سر و کار دارند، بسیار ارزشمند است. حتی اگر در حال شروع مهاجرت از معماری مونو به میکروسرویس باشید، مطالب کتاب برایتان حیاتی خواهد بود.
ویژگی نسخه دوم
با توجه به رشد سریع فناوریهای زیرساختی مانند کانتینرها، سرویسهای ابری و مدلهای Serverless، نسخه دوم این کتاب بخشهای جدیدی درباره ارکستراسیون، طراحی API، امنیت مدرن و تجربه واقعی از شرکتها ارائه میدهد تا دانش فنی شما همیشه بهروز بماند.
درباره نویسنده
Sam Newman یکی از متخصصان شناختهشده در زمینه معماری نرمافزار است که تجربههای گستردهاش را در شرکتهایی مانند ThoughtWorks و Google Cloud به اشتراک گذاشته است. سبک نوشتار او شفاف و آموزشی است و مفاهیم پیچیده را ساده و قابل درک میکند.
فهرست مطالب
- Copyright
- Table of Contents
- Preface
- PART I: Foundation
- Chapter 1: What Are Microservices?
- Microservices at a Glance
- Key Concepts of Microservices
- The Monolith
- Enabling Technology
- Advantages of Microservices
- Microservice Pain Points
- Should I Use Microservices?
- Summary
- Chapter 2: How to Model Microservices
- Introducing MusicCorp
- What Makes a Good Microservice Boundary?
- Types of Coupling
- Just Enough Domain-Driven Design
- The Case for Domain-Driven Design for Microservices
- Alternatives to Business Domain Boundaries
- Mixing Models and Exceptions
- Summary
- Chapter 3: Splitting the Monolith
- Have a Goal
- Incremental Migration
- The Monolith Is Rarely the Enemy
- What to Split First?
- Decomposition by Layer
- Useful Decompositional Patterns
- Data Decomposition Concerns
- Summary
- Chapter 4: Microservice Communication Styles
- From In-Process to Inter-Process
- Technology for Inter-Process Communication: So Many Choices
- Styles of Microservice Communication
- Pattern: Synchronous Blocking
- Pattern: Asynchronous Nonblocking
- Pattern: Communication Through Common Data
- Pattern: Request-Response Communication
- Pattern: Event-Driven Communication
- Proceed with Caution
- Summary
- PART II: Implementation
- Chapter 5: Implementing Microservice Communication
- Looking for the Ideal Technology
- Technology Choices
- Serialization Formats
- Schemas
- Handling Change Between Microservices
- Avoiding Breaking Changes
- Managing Breaking Changes
- DRY and the Perils of Code Reuse in a Microservice World
- Service Discovery
- Service Meshes and API Gateways
- Documenting Services
- Summary
- Chapter 6: Workflow
- Database Transactions
- Distributed Transactions—Two-Phase Commits
- Distributed Transactions—Just Say No
- Sagas
- Summary
- Chapter 7: Build
- A Brief Introduction to Continuous Integration
- Build Pipelines and Continuous Delivery
- Mapping Source Code and Builds to Microservices
- Summary
- Chapter 8: Deployment
- From Logical to Physical
- Principles of Microservice Deployment
- Deployment Options
- Which Deployment Option Is Right for You?
- Kubernetes and Container Orchestration
- Progressive Delivery
- Summary
- Chapter 9: Testing
- Types of Tests
- Test Scope
- Implementing Service Tests
- Implementing (Those Tricky) End-to-End Tests
- Should You Avoid End-to-End Tests?
- Developer Experience
- From Preproduction to In-Production Testing
- Cross-Functional Testing
- Summary
- Chapter 10: From Monitoring to Observability
- Disruption, Panic, and Confusion
- Single Microservice, Single Server
- Single Microservice, Multiple Servers
- Multiple Services, Multiple Servers
- Observability Versus Monitoring
- Building Blocks for Observability
- Standardization
- Selecting Tools
- The Expert in the Machine
- Getting Started
- Summary
- Chapter 11: Security
- Core Principles
- The Five Functions of Cybersecurity
- Foundations of Application Security
- Implicit Trust Versus Zero Trust
- Securing Data
- Authentication and Authorization
- Summary
- Chapter 12: Resiliency
- What Is Resiliency?
- Failure Is Everywhere
- How Much Is Too Much?
- Degrading Functionality
- Stability Patterns
- Spreading Your Risk
- CAP Theorem
- Chaos Engineering
- Blame
- Summary
- Chapter 13: Scaling
- The Four Axes of Scaling
- Combining Models
- Start Small
- Caching
- Autoscaling
- Starting Again
- Summary
- PART III: People
- Chapter 14: User Interfaces
- Toward Digital
- Ownership Models
- Toward Stream-Aligned Teams
- Pattern: Monolithic Frontend
- Pattern: Micro Frontends
- Pattern: Page-Based Decomposition
- Pattern: Widget-Based Decomposition
- Constraints
- Pattern: Central Aggregating Gateway
- Pattern: Backend for Frontend (BFF)
- GraphQL
- A Hybrid Approach
- Summary
- Chapter 15: Organizational Structures
- Loosely Coupled Organizations
- Conway’s Law
- Team Size
- Understanding Conway’s Law
- Small Teams, Large Organization
- On Autonomy
- Strong Versus Collective Ownership
- Enabling Teams
- Shared Microservices
- Internal Open Source
- Pluggable, Modular Microservices
- The Orphaned Service
- Case Study: realestate.com.au
- Geographical Distribution
- Conway’s Law in Reverse
- People
- Summary
- Chapter 16: The Evolutionary Architect
- What’s in a Name?
- What Is Software Architecture?
- Making Change Possible
- An Evolutionary Vision for the Architect
- Defining System Boundaries
- A Social Construct
- Habitability
- A Principled Approach
- Guiding an Evolutionary Architecture
- Architecture in a Stream-Aligned Organization
- Building a Team
- The Required Standard
- Governance and the Paved Road
- Technical Debt
- Exception Handling
- Summary
- Afterword: Bringing It All Together
- Bibliography
- Glossary
- Index
- About the Author
- Colophon
مشخصات
نام کتاب
Building Microservices: Designing Fine-Grained Systems Edition: 2
نویسنده
Sam Newman
انتشارات
O'Reilly Media City: Sebastopol, CA
تاریخ انتشار
2021
ISBN
9781492034025
تعداد صفحات
615
زبان
انگلیسی
فرمت
حجم
11MB
موضوع
Software Architecture / Microservices