Book description
Microservices Patterns teaches enterprise developers and architects how to build applications with the microservice architecture. Rather than simply advocating for the use the microservice architecture, this clearly-written guide takes a balanced, pragmatic approach, exploring both the benefits and drawbacks.
About the Technology
Successfully developing microservices-based applications requires mastering a new set of architectural insights and practices. In this unique book, microservice architecture pioneer and Java Champion Chris Richardson collects, catalogues, and explains 44 patterns that solve problems such as service decomposition, transaction management, querying, and inter-service communication.
About the Book
Microservices Patterns teaches you how to develop and deploy production-quality microservices-based applications. This invaluable set of design patterns builds on decades of distributed system experience, adding new patterns for writing services and composing them into systems that scale and perform reliably under real-world conditions. More than just a patterns catalog, this practical guide offers experience-driven advice to help you design, implement, test, and deploy your microservices-based application.
What's Inside
- How (and why!) to use the microservice architecture
- Service decomposition strategies
- Transaction management and querying patterns
- Effective testing strategies
- Deployment patterns
About the Reader
Written for enterprise developers familiar with standard enterprise application architecture. Examples are in Java.
About the Author
Chris Richardson is a Java Champion, a JavaOne rock star, author of Manning’s POJOs in Action, and creator of the original CloudFoundry.com.
Quotes
A comprehensive overview of the challenges teams face when moving to microservices, with industry-tested solutions to these problems.
- Tim Moore, Lightbend
Pragmatic treatment of an important new architectural landscape.
- Simeon Leyzerzon, Excelsior Software
A solid compendium of information that will quicken your migration to this modern cloud-based architecture.
- John Guthrie, Dell/EMC
How to understand the microservices approach, and how to use it in real life.
- Potito Coluccelli, Bizmatica Econocom
Publisher resources
Table of contents
- inside front cover
- Microservices Patterns
- Copyright
- Dedication
- Brief Table of Contents
- Table of Contents
- Front matter
-
Chapter 1. Escaping monolithic hell
- 1.1. The slow march toward monolithic hell
- 1.2. Why this book is relevant to you
- 1.3. What you’ll learn in this book
- 1.4. Microservice architecture to the rescue
- 1.5. Benefits and drawbacks of the microservice architecture
- 1.6. The Microservice architecture pattern language
- 1.7. Beyond microservices: Process and organization
- Summary
-
Chapter 2. Decomposition strategies
- 2.1. What is the microservice architecture exactly?
-
2.2. Defining an application’s microservice architecture
- 2.2.1. Identifying the system operations
- 2.2.2. Defining services by applying the Decompose by business capability pattern
- 2.2.3. Defining services by applying the Decompose by sub-domain pattern
- 2.2.4. Decomposition guidelines
- 2.2.5. Obstacles to decomposing an application into services
- 2.2.6. Defining service APIs
- Summary
-
Chapter 3. Interprocess communication in a microservice architecture
- 3.1. Overview of interprocess communication in a microservice architecture
- 3.2. Communicating using the synchronous Remote procedure invocation pattern
-
3.3. Communicating using the Asynchronous messaging pattern
- 3.3.1. Overview of messaging
- 3.3.2. Implementing the interaction styles using messaging
- 3.3.3. Creating an API specification for a messaging-based service API
- 3.3.4. Using a message broker
- 3.3.5. Competing receivers and message ordering
- 3.3.6. Handling duplicate messages
- 3.3.7. Transactional messaging
- 3.3.8. Libraries and frameworks for messaging
- 3.4. Using asynchronous messaging to improve availability
- Summary
- Chapter 4. Managing transactions with sagas
- Chapter 5. Designing business logic in a microservice architecture
-
Chapter 6. Developing business logic with event sourcing
-
6.1. Developing business logic using event sourcing
- 6.1.1. The trouble with traditional persistence
- 6.1.2. Overview of event sourcing
- 6.1.3. Handling concurrent updates using optimistic locking
- 6.1.4. Event sourcing and publishing events
- 6.1.5. Using snapshots to improve performance
- 6.1.6. Idempotent message processing
- 6.1.7. Evolving domain events
- 6.1.8. Benefits of event sourcing
- 6.1.9. Drawbacks of event sourcing
- 6.2. Implementing an event store
- 6.3. Using sagas and event sourcing together
- Summary
-
6.1. Developing business logic using event sourcing
- Chapter 7. Implementing queries in a microservice architecture
- Chapter 8. External API patterns
- Chapter 9. Testing microservices: Part 1
- Chapter 10. Testing microservices: Part 2
- Chapter 11. Developing production-ready services
-
Chapter 12. Deploying microservices
- 12.1. Deploying services using the Language-specific packaging format pattern
- 12.2. Deploying services using the Service as a virtual machine pattern
- 12.3. Deploying services using the Service as a container pattern
- 12.4. Deploying the FTGO application with Kubernetes
- 12.5. Deploying services using the Serverless deployment pattern
- 12.6. Deploying a RESTful service using AWS Lambda and AWS Gateway
- Summary
-
Chapter 13. Refactoring to microservices
- 13.1. Overview of refactoring to microservices
- 13.2. Strategies for refactoring a monolith to microservices
- 13.3. Designing how the service and the monolith collaborate
- 13.4. Implementing a new feature as a service: handling misdelivered orders
- 13.5. Breaking apart the monolith: extracting delivery management
- Summary
- Index
- inside back cover
- List of Figures
- List of Tables
- List of Listings
Product information
- Title: Microservices Patterns
- Author(s):
- Release date: November 2018
- Publisher(s): Manning Publications
- ISBN: 9781617294549
You might also like
audiobook
Microservices Patterns
"A comprehensive overview of the challenges teams face when moving to microservices, with industry-tested solutions to …
book
Building Microservices, 2nd Edition
As organizations shift from monolithic applications to smaller, self-contained microservices, distributed systems have become more fine-grained. …
book
Building Event-Driven Microservices
Organizations today often struggle to balance business requirements with ever-increasing volumes of data. Additionally, the demand …
book
Monolith to Microservices
How do you detangle a monolithic system and migrate it to a microservice architecture? How do …