کتاب Event-Driven Architecture in Golang - معماری رویدادمحور با گولنگ

عنوان:

Event-Driven Architecture in Golang

نویسنده:

Michael Stack

انتشارات:

Packt Publishing

تاریخ انتشار:

2022

حجم:

5.0MB

دانلود

معرفی کتاب:" Event-Driven Architecture in Golang | ساخت مایکروسرویس‌های رویداد‌محور در Go "

شروع ساخت microservices مبتنی بر event-driven، شامل الگوهایی برای مدیریت انسجام داده و تاب‌آوری

ویژگی‌های کلیدی

  • بررسی مزایا و معایب معماری‌های event-driven با مثال‌های عملی و موارد استفاده
  • درک هم‌افزایی با event sourcing، CQRS و domain-driven development در معماری نرم‌افزار
  • ساخت یک معماری اپلیکیشن قدرتمند و کامل تا پایان کتاب

توضیحات کتاب

معماری event-driven در Golang یک رویکرد مدرن برای توسعه اپلیکیشن‌هایی است که در آن تغییرات وضعیت (state) به‌صورت asynchronous، داخلی و خارجی از طریق پیام‌ها رد و بدل می‌شود. این معماری باعث می‌شود سیستم‌ها مقیاس‌پذیرتر و مقاوم‌تر در برابر خطا باشند.

کتاب حاضر با بهره‌گیری از مفاهیم پایه تا پیشرفته، شما را با دنیای EDA آشنا می‌کند. طی این مسیر، می‌آموزید که چگونه microservices‌هایی طراحی و پیاده‌سازی کنید که از طریق event streams با یکدیگر ارتباط برقرار می‌کنند.

در پروژه نهایی کتاب، اپلیکیشنی شامل چندین microservice با ساختار orchestrated و choreographed طراحی می‌کنید که از ارتباط asynchronous بهره می‌برند.

در پایان این کتاب، مهارت لازم برای ساخت، تست و deploy مایکروسرویس‌های event-driven را کسب خواهید کرد.

آنچه در این کتاب می‌آموزید

  • درک عمیق الگوهای event-driven و شیوه‌های پیاده‌سازی آن‌ها
  • طراحی و برنامه‌ریزی معماری‌های مقیاس‌پذیر با سهولت
  • کاربرد عملی event sourcing در پیگیری تغییرات
  • تست و deploy اپلیکیشن‌های مبتنی بر microservices
  • پایش و بهینه‌سازی معماری نرم‌افزار در محیط واقعی

مخاطب این کتاب کیست؟

این کتاب مناسب معماران نرم‌افزار و برنامه‌نویسان ارشد است که با زبان Golang آشنایی متوسط دارند و می‌خواهند سیستم‌هایی مبتنی بر microservices، CQRS، DDD و event sourcing بسازند. آشنایی با مباحث concurrency در Go برای استفاده بهتر از این کتاب توصیه می‌شود.

فهرست مطالب

  • Contents
  • Cover
  • Title Page
  • Copyright and Credits
  • Dedication
  • Contributors
  • Table of Contents
  • Preface
  • Part 1: Event-Driven Fundamentals
  • Chapter 1: Introduction to Event-Driven Architectures
  • Technical requirements
  • An exchange of facts
  • The MallBots application
  • Benefits of EDA
  • Challenges of EDA
  • Summary
  • Chapter 2: Supporting Patterns in Brief
  • Domain-driven design
  • Domain-centric architectures
  • Command and Query Responsibility Segregation
  • Application architectures
  • Summary
  • Further reading
  • Chapter 3: Design and Planning
  • Technical requirements
  • What are we building?
  • Finding answers with EventStorming
  • Understanding the business
  • Recording architectural decisions
  • Summary
  • Further reading
  • Part 2: Components of Event-Driven Architecture
  • Chapter 4: Event Foundations
  • Technical requirements
  • A tour of MallBots
  • Taking a closer look at module integration
  • Types of events
  • Refactoring side effects with domain events
  • Summary
  • Chapter 5: Tracking Changes with Event Sourcing
  • Technical requirements
  • What is event sourcing?
  • Adding event sourcing to the monolith
  • Using just enough CQRS
  • Aggregate event stream lifetimes
  • Summary
  • Chapter 6: Asynchronous Connections
  • Technical requirements
  • Asynchronous integration with messages
  • Implementing messaging with NATS JetStream
  • Making the Store Management module asynchronous
  • Summary
  • Chapter 7: Event-Carried State Transfer
  • Technical requirements
  • Refactoring to asynchronous communication
  • Adding a new order search module
  • Building read models from multiple sources
  • Summary
  • Chapter 8: Message Workflows
  • Technical requirements
  • What is a distributed transaction?
  • Comparing various methods of distributed transactions
  • Implementing distributed transactions with Sagas
  • Converting the order creation process to use a Saga
  • Summary
  • Chapter 9: Transactional Messaging
  • Technical requirements
  • Identifying problems faced by distributed applications
  • Exploring transactional boundaries
  • Using an Inbox and Outbox for messages
  • Summary
  • Part 3: Production Ready
  • Chapter 10: Testing
  • Technical requirements
  • Coming up with a testing strategy
  • Testing the application and domain with unit tests
  • Testing dependencies with integration testing
  • Testing component interactions with contract tests
  • Testing the application with end-to-end tests
  • Summary
  • Chapter 11: Deploying Applications to The Cloud
  • Technical requirements
  • Turning the modular monolith into microservices
  • Installing the necessary DevOps tools
  • Using Terraform to configure an AWS environment
  • Deploying the application to AWS with Terraform
  • Summary
  • Chapter 12: Monitoring and Observability
  • Technical requirements
  • What are monitoring and observability?
  • Instrumenting the application with OpenTelemetry and Prometheus
  • Viewing the monitoring data
  • Summary
  • Index
  • About Packt
  • Other Books You May Enjoy

مشخصات

نام کتاب

Event-Driven Architecture in Golang: Building complex systems with asynchronicity and eventual consistency

نویسنده

Michael Stack

انتشارات

Packt Publishing

تاریخ انتشار

2022

ISBN

9781803238012

تعداد صفحات

384

زبان

انگلیسی

فرمت

pdf

حجم

5.0MB

موضوع

Event-Driven Architecture