Please enable JavaScript.
Coggle requires JavaScript to display documents.
microservice design pattern - Coggle Diagram
microservice design pattern
service discovery
problem
how do client know where the service is
services assigned dynamically allocated IP
sollution
a new service
tracks available microservice and IP
automatically registers and un-registers services
load balance requests
able to detect which service is unhealthy
implementation strategy
client side routing
communicates with service discovery
send request to proper instance
server side routing
service discovery exposes reverse proxy
all requests sent to proxy
proxy forwards the request to proper instance
tools
Spring cloud loadbalancer
Netflix Eureka
edge server
problem
expose some services to external world
hide rest of the services
exposed services must be protected from malicious clients
sollution
a new service
all incoming requests goes through it
only route requests to services configured for external use
ensure client trustworthiness
use
OAuth
OIDC
JWT
tools
Spring Cloud
Spring Security
reactive microservice
problem
thread based model cause delay
sollution
non-blocking IO
tools
Project Reactor
WebFlux
central configuration
problem
how to sync configuration
sollution
a new service to store all config
tools
spring config server
centralized log analysis
tools
Elasticsearch
Fluentd
Kibana
distributed tracing
tools
Spring cloud sleuth
zipkin
circuit breaker
tools
Resilience4j
control loop
tools
kubernetes controller manager
centralized monitoring and alarm
tools
Kiali, Grafana, Prometheus
resource
https://12factor.net/