ptg18144917
Contents
xv
7.12 Load Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
REST/HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Central Load Balancer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
A Load Balancer per Microservice . . . . . . . . . . . . . . . . . . . . 145
Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Service Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Client-Based Load Balancing . . . . . . . . . . . . . . . . . . . . . . . . . 147
Load Balancing and Architecture . . . . . . . . . . . . . . . . . . . . . 148
7.13 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Scaling, Microservices, and Load Balancing . . . . . . . . . . . . . 149
Dynamic Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Microservices: Advantages for Scaling . . . . . . . . . . . . . . . . . 150
Sharding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Scalability, Throughput, and Response Times . . . . . . . . . . . . 151
7.14 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Security and Microservices . . . . . . . . . . . . . . . . . . . . . . . . . . 152
OAuth2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Possible Authorization Grants . . . . . . . . . . . . . . . . . . . . . . . . 153
JSON Web Token (JWT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
OAuth2, JWT, and Microservices . . . . . . . . . . . . . . . . . . . . . 155
Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Additional Security Measures . . . . . . . . . . . . . . . . . . . . . . . . 156
Hashicorp Vault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Additional Security Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
7.15 Documentation and Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Outdated Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Access to Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
7.16 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Essential Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Chapter 8: Integration and Communication . . . . . . . . . . . . . . . . . . . . . . 163
8.1 Web and UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Multiple Single-Page-Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
SPA per Microservice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Asset Server for Uniformity . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
A Single-Page App for All Microservices . . . . . . . . . . . . . . . . . 167
HTML Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168