微服务
Software Architecture & Engineering · 16 notes
- Microserviceshistorical
Historical notes on what microservice architecture is, its relationship with SOA, trade-offs, decomposition, project architecture, and the microservice technology stack.
- OpenID Connecthistorical
Historical notes on what OpenID Connect is and how its flow differs from OAuth by adding OpenID identity information and an ID Token.
- JWThistorical
Historical JWT notes covering what JWT is, why it is used, JWT versus sessions, token structure, and the basic request flow.
- OAuthhistorical
Historical OAuth 2.0 notes covering why OAuth is needed, the authorization flow, grant modes, token refresh, and scopes.
- How to Design a Configuration Centerhistorical
What a configuration center is, why it is needed, storage, client notification, service discovery, caching, canary release, and an example configuration-center database design.
- How to Design a Load-Balancing Componenthistorical
What load balancing is, why it is needed, common algorithms, hardware/software/DNS choices, L2/L3/L7 approaches, and client-side versus server-side load balancing.
- How to Design a Service Registryhistorical
What a service registry is, why it is needed, server-side and client-side design, service discovery and routing, registry components, and ZooKeeper versus Eureka.
- How to Design an API Gatewayhistorical
What an API gateway is, why it is needed, request forwarding and filtering, I/O models, common gateway components, BFF, and gateway aggregation.
- How to Design a Monitoring Systemhistorical
What monitoring is, why microservices need it, and the three parts: logs, metrics, and tracing.
- How to Design Distributed Tracinghistorical
What tracing is, why it is needed, Span/Trace/Annotation data, sampling, collection approaches, storage, display, and common tracing components.
- How to Design a Fault-Tolerance Componenthistorical
What fault tolerance is, service avalanche, and common techniques including timeouts, retries, rate limiting, circuit breaking, isolation, and degradation.
- How to Design Log Monitoringhistorical
What log monitoring is, why it is needed, logging strategy, collection, aggregation, indexing and storage, analysis, and ELK.
- How to Design Metrics Monitoringhistorical
What metrics monitoring is, why it is needed, what to monitor, how to collect and store metrics, alerting, and common metrics components.
- How to Design Authentication and Authorizationhistorical
Authentication, authorization, and credentials; common techniques; and how authentication and authorization are integrated into a microservice architecture.
- How to Design a Container Scheduling Systemhistorical
A short note on what container scheduling is, why it is needed, and Kubernetes as a scheduling component.
- How to Design a Pipeline Systemhistorical
A short note on CI/CD pipelines, their purpose, design, and Jenkins.