Symbols
12-factor app
design principles 31
reference link 31
_istio_base.yaml template
_istio_dr_mutual_tls.yaml template
A
access tokens
acquiring 324
acquiring, with authorization code grant flow 325, 326, 327, 328
acquiring, with client credentials grant flow 324, 325
used, for calling protected APIs 329, 330, 331
AdoptOpenJDK
URL 103
affinity rules 426
Ahead of Time (AOT) compilation 699
Ansible 453
API
adding 65
API client
error handling 81
API definitions
changes 378
API design
significance 31
API, Eureka server
API implementations
error handling 80
api project
adding 65
APIs
edge server, modifying 316, 317
product-composite service, modifying 316, 317
product-composite service only, modifying 318
protecting, with OAuth 2.0 315
protecting, with OpenID Connect (OIDC) 315
testing, manually 82, 83, 84, 85
test script, modifying 321
application metrics
source code, modifying for 636, 637
apt install
using, for tools installation 690, 691
authentication 300
authorization 300
authorization code grant flow
used, for acquiring access tokens 325, 326, 327, 328
authorization delegation 300
authorization grant flows 302, 303
automated microservice tests
adding, in isolation 86, 87, 88, 89
automated tests
adding 385, 386, 387, 388, 389
writing, to focus on persistence 151
automated tests, of microservice landscape
autonomous software component 4
challenges 8
auto-wiring 37
B
backward-compatible 571
Base64 462
blue/green deployment
kubectl patch command 583
running 582
bounded context 66
Bounded Contexts 30
builder pattern 199
built-in objects 457
reference link 457
Buoyant
URL 529
C
canary tests
central configuration pattern 19
problem 19
solution 19
solution requirements 20
centralized configuration
Spring Cloud Config, using for 246, 247
centralized log analysis pattern 20
solution 21
solution requirements 22
centralized monitoring and alarms pattern 26
problem 26
solution 26
solution requirements 27
Certificate Authorities (CAs) 309
certificate object
reference link 520
certificate provisioning
certificates
cert-manager 455
reference link 513
system landscape, testing 514, 515, 516, 517, 518, 519
cgroups 50
chain of failures 8
challenges
handling, with messaging 202, 203
chart 453
chart repository 455
circuit breaker 372
configuration parameters, using 373
forcing, to open when things go wrong 391, 392
key features 372
reporting, state in actuator health endpoint 374
sample usage, in Resilience4j 249, 250, 251
verifying, under normal operations 390, 391
working, with 389
circuit breaker and time limiter, adding
annotations, adding in source code 381
configuration, adding 383
dependencies, adding to build file 380
fail-fast fallback logic, adding 382
circuit breaker pattern 24
problem 24
solution 24
solution requirements 24
client credentials grant flow
used, for acquiring access tokens 324, 325
clients
configuring, to Eureka server 267, 268
clients, Spring Cloud Configuration server (config server
configuring 359
cloud
path migration to 31
Cloud Native Buildpacks project
reference link 701
Cloud Native Computing Foundation (CNCF) 592
CNCF
reference link 10
common library chart
ConfigMap template 459
Deployment template 468
naming conventions 458
Secrets template, creating 461
Composite API
composite API operations
composite health check
composite microservice
adding 72
API classes 73
integration component 74, 75, 76, 77
properties 74
composite service
events, publishing in 216
composite service API
extending 166
composite services
non-blocking REST APIs 197
composite service tests
using, example 460
configuration
obtaining, with Spring Cloud Configuration server (config server) API 363, 364
configuration parameters
reference link 376
configuration repository
storage type, selecting 353
structuring 362
configuration, securing
about 354
at rest 355
in transit 354
connection information
Consumer 48
containerd 427
Container Network Interface (CNI) 423
container orchestrators 10
Container Runtime Interface (CRI) 427
context 431
Control Groups (cgroups) 94
control loop pattern 25
problem 25
solution 26
solution requirements 26
control plane, components
api-server 426
controller manager 426
etcd 426
scheduler 426
convention over configuration 35
Conway's law 30
cooperating microservices, test run
cooperating microservices, tests
core microservices
persistence layer, adding 145
core services
events, consuming in 211
non-blocking REST APIs 192
correlation ID 23
curl
curl command
using 691
Custom Resource Definitions (CRDs) 516, 534
D
database connection configuration 175, 176, 177
databases
adding, Docker Compose landscape 173
data plane, components
container runtime 427
kubelet 426
kube-proxy 427
Kubernetes DNS 427
Data Transfer Object (DTO) 68
dead-letter queue 205
declarative command 430
delivery pipeline 29
dependencies
adding, to build file 380
adding, to build files 402
dependency injection 34
deployment
testing 484
Deployment template 468, 469, 470, 471, 472
DevOps
significance 29
discovery endpoint 305
discovery first bootstrap
reference link 354
discovery server
access, securing 310
discovery service
trying out 268
disruptive tests
with Eureka server 272
distributed system 13
distributed tracing
about 405
adding, to source code 401, 402
API request, sending to trigger asynchronous processing 410, 412
configuration, adding for Spring Cloud Sleuth 402, 403
configuration, adding for Zipkin 402, 403
dependencies, adding to build files 402
Kafka, using as message broker 414, 416
Spring Cloud Sleuth, using for 251, 253, 254
successful API request, sending 406, 407, 408
system landscape, with RabbitMQ queue manager 406
trace information, monitoring to Zipkin in RabbitMQ 413, 414
unsuccessful API request, sending 408, 409, 410
with Spring Cloud Sleuth 400, 401
Zipkin, adding to Docker Compose files 403, 404, 405
Zipkin, using for 251, 253, 254
distributed tracing pattern 22
problem 22
solution 23
solution requirements 23
DNS-based service discovery
Docker 9, 28, 50, 51, 52, 94, 95
Spring Cloud Configuration server (config server) configuration, for using with 358
Docker commands
Docker Compose 52
native compiled images, testing 712, 713, 714, 715, 716, 717
tests, running with 587
using, for testing 524, 525, 526
Docker Compose commands
reference link 53
Docker Compose configuration 173, 175
Docker Compose files
Zipkin, adding to 403, 404, 405
Docker Compose landscape
databases. adding 173
Docker Desktop
installing, for Windows 688, 689
Docker Desktop for Mac
installation link 674
Docker Desktop for Windows
download link 688
Dockerfile 51
Docker images
Docker, using with one microservice 100
container detached, running 108, 109
Docker image, building 105
service, starting up 106, 107, 108
source code, changes 101, 102, 104
domain-driven design 66
Domain-Driven Design 30
dot 458
dry run 481
E
edge server
adding, to system landscape 280, 281
exposing, to outside of system landscape 291, 292
product composite API, calling 292, 293
routing rule, setting in 357
Spring Cloud Gateway, using as 245, 246
trying out 290
edge server pattern 16
problem 17
solution 17
solution requirements 17
EFK stack
deploying, on Kubernetes 601
implementing 611
Kibana, initializing 612
log records, analyzing 613, 614, 615, 616, 617
log records, discovering from microservices 617, 618, 619, 620, 621, 622, 623
root cause analyses, performing 623, 624, 625, 626, 627, 628
Egress gateway 528
Elasticsearch
deploy commands, running 605, 606
deploying 603
reference link 603
ELK stack
reference link 592
entities 44
error handling
adding 79
in API implementations 80
Eureka
calling, through edge server 294, 295
Eureka clients
Eureka server
clients, configuring to 267, 268
configuring 267
disruptive tests 272
extra instance, starting of product service 274
review instance, stopping 273
stopping 273
event
event-driven asynchronous services
challenges, handling with messaging 202, 203
developing 202
events, consuming in core services 211
events, publishing in composite services 216
modifying, in Gradle build files 210
versus non-blocking synchronous APIs 186, 187
event-driven asynchronous services, challenges
guaranteed order 207
event-driven asynchronous services, challenges handling with messaging
guaranteed order 206
events
consuming, in core services 211
publishing, in composite service 216
publishing, in integration layer 217
events, consuming in core services
configuration, adding 214, 215
message processors, declaring 211, 212
modifying, in service implementations 213
modifying, in test code 215, 216
events, publishing in composite service
configuration, adding 218
modifying, in test code 219, 220, 221, 222
external communication
protecting, with HTTPS 307, 308
external endpoints
protecting, with HTTPS and certificates 557, 558, 559, 560
external OpenID Connect provider
access tokens,acquiring with authorization code grant flow 344, 345, 346
access tokens,acquiring with client credentials grant flow 343, 344
Auth0 account, configuring 333, 334, 335, 336, 337, 338
Auth0 account, setting up 333, 334, 335, 336, 337, 338
changes, applying to use Auth0 339
OAuth resource servers configuration, modifying 339
protected APIs, calling with Auth0 access tokens 347
testing with 333
test script, modifying to acquire access tokens from Auth0 340, 342
test script, running with Auth0 342, 343
user information, obtaining 347, 348
F
fail-fast fallback logic
adding 382
fallback method 372
fat JAR file 35
files
building, to add dependencies 402
filters
used, for routing requests 288, 289
Fluentd
about 592
configuring 594, 595, 596, 597, 598, 599, 600, 601
deploy commands, running 610
deploying 606
URL 592
Fluentd configuration files
reference link 594
Flux 189
Flux objects 47
fully qualified domain name (FQDN) 547
G
Git
glob pattern 457
reference link 699
graceful shutdown
reference link 452
Spring Boot, testing 485, 486, 487, 488, 489
Gradle
multi-project builds, setting up 63, 64, 65
Gradle build files
modifying 210
Gradle project, organizing
Grafana 530
used, for monitoring performance metrics 634, 635
Grafana alarms
circuit breaker alarm, testing 665, 666, 667, 668, 669
mail-based notification channel, setting up 659, 661
setting up 659
setting up, on circuit breaker 661, 662, 663, 665
Grafana dashboards
creating 648
developing 647
implementing 652
Kiali's built-in dashboards, using 641, 642, 643, 644
load testing 641
local mail server, installing for tests 639, 640
Prometheus metrics, examining 647, 648
used, for monitoring microservices 638
Grafana dashboards, creation
empty dashboard, creating 648, 649
panel, creating for circuit breaker metric 649
panel, creating for retry metric 650
Grafana dashboards, implemention
circuit breaker metrics, testing 652, 653, 655
retry metrics, testing 655, 656
H
half-open circuit 24
HashiCorp Vault PKI Secrets Engine
reference link 512
health group 452
health indicators
reference link 452
built-in objects 457
chart dependencies, resolving 479
chart, viewing 456
commands, running 455
reference link 453
Helm commands
reference link 455
Homebrew
installation link 675
installing 675
using, to install tools 676
horizontal scaling 9
host-based routing 288
HTTPS
certificate, creating 307
edge server, configuring 307
used, for protecting external communication 307, 308
HyperKit
reference link 429
Hypervisor framework 429
I
Identity Provider (IdP) 301
imperative statements 430
Ingress
system landscape, testing 514, 515, 516, 517, 518, 519
Ingress gateway 528
Ingress object 422
install command
using 691
integrated development environment (IDE)
using 681
integration layer
events, publishing in 217
methods, adding 169
deploying, in Kubernetes cluster 537, 538, 539, 540
Istio API objects 534
Istioctl
Istio Ingress Gateway
Kubernetes Ingress controller, replacing with 536
Istio proxies
injecting, into microservices 531, 532, 533
Istio services
access, setting up 540, 541, 542, 543, 544
Istio's Jaeger component
Zipkin server, replacing with 536
J
Java
Java 2 Platforms, Enterprise Edition (J2EE) 34
Java Development Kit (JDK) 97
Java execution in docker, challenges 97, 98
available CPUs, limiting 98
available memory, limiting 99, 100
Java Persistence API (JPA) 44
Java Platform, Enterprise Edition (Java EE) 35
Java Runtime Environment (JRE) 97
Java source code
Jinja2 453
JPA 2.2
reference link 44
jq
JSON Web Key Set (jwk-set) 306
JSON Web Token (JWT) 304
JSON Web Tokens (JWTs) 535
Just in Time (JIT) compilation 698
JVM (Micrometer) 645
K
Kafka
using, with two partitions per topic 232, 233, 234, 235
key management
reference link 355
Kiali 530
Kibana
deploy commands, running 605, 606
deploying 603
reference link 603
kubectl 426
kubectl contexts
kubectl patch command 583
deploying, for staging and production 521
deploying to 480, 482, 494, 495
EFK stack, deploying on 601
microservices, deploying for development activity 477, 478
microservices, deploying for production 491, 492
microservices, deploying for staging 491, 492
microservices, deploying for test activity 477, 478
native compiled images, testing 718, 719, 720, 721, 722, 723
test script,changes 483
Kubernetes API objects
ConfigMap 424
deployment 423
ingress 424
namespace 424
node 423
pod 423
ReplicaSet 424
secret 424
service 424
Kubernetes CLI (kubectl)
about 429
working with 430
Kubernetes cluster
creating, with Minikube 429
hibernating 443
Istio, deploying in 537, 538, 539, 540
managing 443
resuming 443
terminating 444
Kubernetes ConfigMaps
system landscape, testing 514, 515, 516, 517, 518, 519
Kubernetes Ingress controller
replacing, with Istio Ingress Gateway 536
Kubernetes objects
using 451
Kubernetes runtime components 426, 427, 428
Kubernetes Service objects 422
Kubernetes Services
Netflix Eureka, replacing with 448, 449, 450
Kustomize 453
L
landscape of microservices, managing with Docker Compose 109
microservice landscape, starting up 112, 113, 114
Let's Encrypt
reference link 512
library chart 454
Linux control groups 50
Linux distributions for WSL 2
reference link 686
Linux namespaces 50
Linux server in WSL 2, tools installation 690
curl and install command, using 691
liveness and readiness probes
Spring Boot, using 452
liveness probe 422
LoadBalancer 540
local authorization server
access tokens, acquiring 324
adding, to system landscape 313, 314, 315
automated tests, building 322
automated tests, running 322
protected APIs, calling with access tokens 329, 330, 331
protected discovery server, testing 322, 324
Swagger UI, testing with OAuth 2.0 331, 332, 333
testing with 322
lockdown 491
Logback 153
loose coupling 186
M
macOS
tracing agent, installing on 707, 708
manual tests
of persistence layer 178, 179, 180
performing 389
MapStruct
URL 145
master nodes 426
message processor
metacircular Java VM 699
Micrometer library
reference link 636
connecting, to Netflix Eureka server 262, 263, 264, 265
information handling 57
infrastructure-related information 58
Istio proxies, injecting into 531, 532, 533
monitoring, with Grafana dashboards 638
monolithic application, decomposing into 30
traffic, initially goes to v1 version verifying 579, 580
v1 and v2 versions, deploying to v1 version with routing 577, 578, 579
microservices, design patterns 14, 15
central configuration pattern 19
centralized log analysis pattern 20
centralized monitoring and alarms pattern 26
circuit breaker pattern 24
control loop pattern 25
distributed tracing pattern 22
edge server pattern 16
reactive microservice pattern 18
service discovery pattern 15
microservices, working without Kubernetes
Microsoft Windows
tracing agent, installing on Ubuntu under WSL 2 709, 710
Minikube
download link 685
installation link 674
profiles, working with 429
used, for creating Kubernetes cluster 429
minikube tunnel 635
Mockito 87
MongoDB
non-blocking persistence, using Spring Data for 190, 191
MongoDB tools 177
monitor service 26
Mono 189
monolithic application
decomposing, into microservices 30
Mono objects 47
multi-project builds
setting up, in Gradle 63, 64, 65
mutual authentication (mTLS)
used, for protecting internal communication 563, 564, 565
mutual TLS (mTLS) 535
MySQL CLI tools 177
N
named templates 458
namespaces 422
native hints
providing, as annotations 704, 705
native image
source code, compiling 702
Native Image Builder
reference link 703
Native Image Compatibility and Optimization Guide
reference link 700
native-image compiler 700
native images
Netflix Eureka
configuration parameters 266
configuration, setting up for development use 265
replacing, with Kubernetes Services 448, 449, 450
using, for service discovery 243, 244
Netflix Eureka server
microservices, connecting to 262, 263, 264, 265
setting up 262
Netty
URL 40
NGINX
deployment 435, 436, 437, 438, 439, 440, 441, 442
non-blocking persistence
modifying, in test code 191, 192
using, Spring Data for MongoDB 190, 191
non-blocking REST APIs
in composite services 197
in core services 192
non-blocking REST APIs, in composite services
modifying, in API 198
modifying, in integration layer 199, 200
modifying, in service implementation 198
modifying, in test code 201
non-blocking REST APIs, in core services
dealing, with blocking code 194, 195, 196, 197
modifying, in APIs 192
modifying, in service implementations 193
modifying, in test code 194
non-blocking synchronous APIs
versus event-driven asynchronous services 186, 187
non-blocking synchronous REST APIs
developing 188
non-blocking persistence, using Spring Data for MongoDB 190, 191
non-blocking REST APIs, in composite services 197
non-blocking REST APIs, in core services 192
O
authorization grant flows 302
client credentials grant flow 303
concepts 301
implicit grant flow 303
resource owner password credentials grant flow 303
used, for protecting APIs 315
used, for testing Swagger UI 331, 332, 333
OAuth 2.0/OIDC access tokens
used for authenticating external requests 560, 561, 562, 563
one microservice
Docker, using with 100
OpenAPI documentation 133, 134, 135, 137, 138, 140
OpenAPI Initiative 42
OpenAPI Specification 42
OpenID Connect (OIDC) 300, 304, 305
used, for protecting APIs 315
OpenID Connect specification (OIDC) 535
operations
adding, in composite service API 167, 168
outlier detection 566
OWASP Top Ten Project
reference link 307
P
Package template
reference link 458
parent charts 454
performance metrics
monitoring, with Grafana 634, 635
monitoring, with Prometheus 634, 635
persistence layer
calling, from service layer 161, 162, 163
persistence layer, adding to core microservices 145
data, storing with entity classes 146, 147, 148
repositories, defining in Spring Data 149, 150
persistence layer, using in service layer 159
database connection URL, logging 160
Java bean mapper, declaring 163, 164
new APIs, adding 160
service tests, updating 164, 166
persistence tests
writing 154, 155, 156, 157, 158, 159
Pods 422
poisoned message 205
post-installation actions 677
Java 677
predicates
used, for routing requests 288, 289
product composite API
calling, through edge server 292, 293
product-composite API
product composite service 58
product-composite service only
modifying 318
modifying, to allow Swagger UI access tokens 319, 320
product service 57
programmable delays and random errors, adding 377
API definitions, changes 377
product-composite microservice, changes 378
product microservice, changes 379, 380
Project Reactor 39
URL 188
Prometheus 530
used, for monitoring performance metrics 634, 635
protected APIs
calling, with access tokens 329, 330, 331
protected discovery server
proxy component 528
Q
quality assurance (QA) 491
quotas 422
R
RabbitMQ
using, without partitions 226, 227, 228, 229, 230
using, with partitions 230, 231, 232
random errors
adding 377
Reactive Manifesto
reference link 19
reactive microservice landscape
automated tests, running 235
health API, adding 223, 224, 225, 226
Kafka, using with two partitions per topic 232, 233, 234, 235
manual tests, running 222
RabbitMQ, using without partitions 226, 227, 228, 229, 230
RabbitMQ, using with partitions 230, 231, 232
reactive microservice pattern 18
problem 18
solution 18
solution requirements 18
readiness probe 422
recommendation service 57
Remote WSL
Visual Studio Code and extension, installing 689, 690
requests
routing, to Eureka server's API and web page 287, 288
routing, to product-composite API 285, 286
routing, with filters 288, 289
routing, with predicates 288, 289
Resilience4j
circuit breaker, sample usage in 249, 250, 251
using, for improved resilience 248, 249
Resilience4j, configuration parameters
reference link 375
Resilience4j project, integrating
reference link 371
Resilience4j, resilience mechanisms 370, 371
adding, to source code 376
automated tests, adding 385, 386, 387, 388, 389
circuit breaker, adding 380
programmable delays, adding 377
random errors, adding 377
retry mechanism 375
retry mechanism, adding 384
time limiter 375
time limiter, adding 380
Resilience4j, setup
reference link 380
resources
cleaning up 496
REST controller 80
RESTful APIs
adding, to core microservices 65
REST service, code examples
property files 41
RestController 42
setting up 40
starter dependencies 40
retry annotation
adding 384
retry mechanism 375
configuration, adding 384
retries,trying out by random errors 394, 395, 396
using, configuration parameters 375
working, with 389
review service 57
RFC8555
reference link 512
Role-Based Access Control (RBAC) 423
route 285
route configuration
testing, based on host header 295, 296
routing rule
setting, in edge server 357
routing rules
setting up 285
trying out 292
S
sdk install
Spring Boot CLI, installing with 691
SDKman
reference link 691
Secrets
system landscape, testing 514, 515, 516, 517, 518
using, example 462
self-signed certificate
replacing, in runtime 309, 310
semi-automated tests, of microservice landscape
semver
reference link 31
sensitive information
service
service discovery 256
challenges 259
Netflix Eureka, using for 243, 244
replacing, temporarily 58
with Netflix Eureka, in Spring Cloud 260, 261
service discovery pattern 15
problem 15
solution 16
solution requirements 16
service discovery pattern, implementing strategies
client-side routing 16
server-side routing 16
service layer
persistence layer, calling from 161, 162, 163
service mesh 10
commands, running to create 549, 550, 551
creating 545
ensuring, is resilient 566
external endpoints, protecting with HTTPS and certificates 557, 558, 559, 560
external request, authenticating with OAuth 2.0/OIDC access tokens 562
external requests authenticating with OAuth 2.0/OIDC access tokens 560, 561, 563
internal communication, protecting with mutual authentication (mTLS) 563, 564, 565
observing 551, 552, 553, 554, 555, 556, 557
resilience, testing by injecting delays 568, 569, 570, 571
resilience, testing by injecting faults 567, 568
securing 557
source code, modifying 545
service meshes
service mesh, source code
content, in _istio_base.yaml template 545, 546, 547
content, in _istio_dr_mutual_tls.yaml templat 548, 549
Service template 463, 464, 466
using, example 466
Siege 485
skeleton microservices
generating 59
soft link 475
source code
annotations, adding in 381
compiling, to native image 702
IDE, using 681
Resilience4j resilience mechanisms, adding to 376
source code, changes
applying 702
Gradle build files, updates 703, 704
Gradle build files, updating 702
native hints, providing as annotations 704, 705
span 400
spans 251
Spotlight 678
Spring AOT 700
Spring Authorization Server
reference link 313
convention over configuration 35
fat JAR file 35
testing, for graceful shutdown 485, 486, 487, 488, 489
testing, for liveness and readiness probes 489, 490
using, for graceful shutdown 451, 452
using, for liveness and readiness probes 452
Spring Boot Actuator 59
Spring Boot application, code examples
Java-based configuration 38
setting up 36
@SpringBootApplication annotation 36
Spring Boot CLI
Spring Boot module Actuator 223
Spring Boot Reference Documentation
reference link 452
Spring Boot, usage of buildpacks
reference link 701
service discovery, with Netflix Eureka 260, 261
Spring Cloud AWS
reference link 353
Spring Cloud Bus 246
Spring Cloud Config
using, for centralized configuration 246, 247
Spring Cloud Config Server
replacing 501
replacing, with required changes 502, 503, 505, 506, 507
Spring Cloud Configuration server (config server) 352
automated tests, building 362
automated tests, running 363
clients, configuring 359
configuring, for using with Docker 358
connection information, configuring 360, 361
edge server, routing rule setting in 357
initial client connection, deciding 354
routing rule, setting up in edge server 357
sensitive information, decrypting 365, 366
sensitive information, encrypting 365, 366
setting up 356
setting up, options 353
storage type, selecting of repository 353
working with 362
Spring Cloud Configuration server (config server) API
endpoints 355
used for obtaining configuration 363, 364
Spring Cloud Configuration Server project, backend list
reference link 353
Spring Cloud Gateway
configuring 284
replacing 507
replacing, with required changes 508, 510, 511, 512
using, as edge server 245, 246
versus Netflix Zuul v1 245
Spring Cloud Sleuth
configuration, adding 402, 403
using, for distributed tracing 251, 253, 254
using, in distributed tracing 400, 401
code examples, for sending and receiving messages 48, 49, 50
core concepts 48
Spring Data 43
non-blocking persistence, using for MongoDB 190, 191
adding, to source code 125
API-specific documentation, adding to ProductCompositeService interface 128, 130, 131
dependencies, adding to Gradle build files 125
general API documentation, adding to ProductCompositeService 126, 127, 128
OpenAPI configuration, adding to ProductCompositeService 126, 127, 128
SpringFox
reference link 123
Spring Initializr
used, for generating skeleton code 59, 60, 61, 62, 63
Spring Native project 700, 701
reference link 700
programming models 39
staging and production
Kubernetes, deploying 521
microservices, deploying to Kuberneres 491, 492
source code, changes 493
standard deployment descriptors 35
subcharts 454
Subject Alternative Names 559
Substrate VM 700
Supplier 48
Swagger UI
calling, through edge server 293, 294
testing, with OAuth 2.0 331, 332, 333
symbolic link 475
system landscape
edge server, adding to 280, 281
local authorization server, adding to 313, 314, 315
T
Testcontainers
URL 151
test script
changes, used with Kubernetes 483
TimeLimiter 375
tools installation 674, 675, 684
Homebrew 675
Homebrew, using 676
on Linux server 685
on Linux server, in WSL 2 690
post-installation actions 677, 678, 679
tools installation on Linux server in WSL 2
curl and install command, using 691
Spring Boot CLI, installing with sdk install 691
tools installation, on Windows
Ubuntu 20.04, installing on WSL 2 686
Visual Studio Code and extension for Remote WSL 689
WSL 2, installing 686
topic
trace 400
TraceId 251
tracing 530
tracing agent 700
running 710
tracing agent, installing 707
on Ubuntu under WSL 2 in Microsoft Windows 709, 710
U
Ubuntu 20.04
installing, on Windows Subsystem for Linux v2 (WSL 2) 686, 687
reference link 686
Ubuntu 20.04, in WSL 2
installation link 684
user acceptance tests (UATs) 491
user-info endpoint 305
util project 68
adding 65
V
vendor-specific deployment descriptors 35
vertical scaling 9
Visual Studio Code
download link 689
reference link 690
Visual Studio Code and extension
installing, for Remote WSL 689, 690
W
web page, Eureka server
Windows Subsystem for Linux 2 (WSL2) 429
Windows Subsystem for Linux v2 (WSL 2)
installation link 684
installing 686
Linux server, tools installation 690
Ubuntu 20.04, installing on 686, 687
Windows Subsystem for Linux v2 (WSL2)
reference link 51
Windows Terminal
reference link 687
worker nodes 426
Y
YAML file construction
reference link 131
Z
zero-downtime updates
blue/green deployment, running 582
canary tests, running 580, 581, 582
performing 571
source code, modifying 572
strategies 571
traffic, verifying initially goes to v1 version of microservices 579, 580
v1 and v2 versions, deploying of microservices with routing to v1 version 577, 578, 579
zero-downtime updates, source code
Zipkin
adding, to Docker Compose files 403, 404, 405
configuration, adding 402, 403
reference link 251
using, for distributed tracing 251, 253, 254
using, in distributed tracing 401
Zipkin server
replacing, with Istio's Jaeger component 536
18.116.40.177