ii
Contents
Manage state and data in Docker applications ........................................................................................................ 22
Service-oriented architecture ........................................................................................................................................... 25
Microservices architecture ................................................................................................................................................. 25
Additional resources ....................................................................................................................................................... 27
Data sovereignty per microservice ................................................................................................................................ 27
The relationship between microservices and the Bounded Context pattern ........................................... 29
Logical architecture versus physical architecture ..................................................................................................... 30
Challenges and solutions for distributed data management .............................................................................. 31
Challenge #1: How to define the boundaries of each microservice ............................................................ 31
Challenge #2: How to create queries that retrieve data from several microservices ............................ 32
Challenge #3: How to achieve consistency across multiple microservices ............................................... 33
Challenge #4: How to design communication across microservice boundaries .................................... 35
Additional resources ....................................................................................................................................................... 36
Identify domain-model boundaries for each microservice .................................................................................. 36
The API gateway pattern versus the Direct client-to-microservice communication .................................. 40
Direct client-to-microservice communication ...................................................................................................... 40
Why consider API Gateways instead of direct client-to-microservice communication ....................... 41
What is the API Gateway pattern? ............................................................................................................................. 42
Main features in the API Gateway pattern ............................................................................................................. 44
Using products with API Gateway features ............................................................................................................ 45
Drawbacks of the API Gateway pattern ................................................................................................................... 47
Additional resources ....................................................................................................................................................... 48
Communication in a microservice architecture ........................................................................................................ 48
Communication types .................................................................................................................................................... 49
Asynchronous microservice integration enforces microservice’s
autonomy
........................................... 50
Communication styles .................................................................................................................................................... 52
Asynchronous message-based communication ....................................................................................................... 54
Single-receiver message-based communication ................................................................................................ 55
Multiple-receivers message-based communication .......................................................................................... 56
Asynchronous event-driven communication ........................................................................................................ 56
A note about messaging technologies for production systems ................................................................... 57
Resiliently publishing to the event bus ................................................................................................................... 58
iii
Contents
Additional resources ....................................................................................................................................................... 58
Creating, evolving, and versioning microservice APIs and contracts ............................................................... 59
Additional resources ....................................................................................................................................................... 59
Microservices addressability and the service registry ............................................................................................ 60
Additional resources ....................................................................................................................................................... 60
Creating composite UI based on microservices ....................................................................................................... 60
Additional resources ....................................................................................................................................................... 62
Resiliency and high availability in microservices ...................................................................................................... 63
Health management and diagnostics in microservices .................................................................................... 63
Additional resources ....................................................................................................................................................... 65
Orchestrate microservices and multi-container applications for high scalability and availability ....... 66
Software platforms
for container clustering, orchestration, and scheduling ........................................... 68
Using container-based orchestrators in Microsoft Azure ................................................................................ 68
Using Azure Kubernetes Service ................................................................................................................................ 68
Development environment for Kubernetes ........................................................................................................... 69
Getting started with Azure Kubernetes Service (AKS) ....................................................................................... 70
Deploy with Helm charts into Kubernetes clusters ............................................................................................. 70
Additional resources ....................................................................................................................................................... 71
Dostları ilə paylaş: