SRE with Java Microservices /
In a microservices architecture, the whole is indeed greater than the sum of its parts. But in practice, individual microservices can inadvertently impact others and alter the end user experience. Effective microservices architectures require standardization on an organizational level with the help...
Autor principal: | |
---|---|
Autor Corporativo: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
O'Reilly Media, Inc.,
2020.
|
Edición: | 1st edition. |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- Intro
- Foreword
- Preface
- My Journey
- Conventions Used in This Book
- O'Reilly Online Learning
- How to Contact Us
- Acknowledgments
- 1. The Application Platform
- Platform Engineering Culture
- Monitoring
- Monitoring for Availability
- Google's approach to SLOs
- A less formal approach to SLOs
- Monitoring as a Debugging Tool
- Learning to Expect Failure
- Effective Monitoring Builds Trust
- Delivery
- Traffic Management
- Capabilities Not Covered
- Testing Automation
- Chaos Engineering and Continuous Verification
- Configuration as Code
- Encapsulating Capabilities
- Service Mesh
- Summary
- 2. Application Metrics
- Black Box Versus White Box Monitoring
- Dimensional Metrics
- Hierarchical Metrics
- Micrometer Meter Registries
- Creating Meters
- Naming Metrics
- Common Tags
- Classes of Meters
- Gauges
- Counters
- Timers
- "Count" Means "Throughput"
- "Count" and "Sum" Together Mean "Aggregable Average"
- Maximum Is a Decaying Signal That Isn't Aligned to the Push Interval
- The Sum of Sum Over an Interval
- The Base Unit of Time
- Using Timers
- Common Features of Latency Distributions
- Percentiles/Quantiles
- Histograms
- Service Level Objective Boundaries
- Distribution Summaries
- Long Task Timers
- Choosing the Right Meter Type
- Controlling Cost
- Coordinated Omission
- Load Testing
- Meter Filters
- Deny/Accept Meters
- Transforming Metrics
- Configuring Distribution Statistics
- Separating Platform and Application Metrics
- Partitioning Metrics by Monitoring System
- Meter Binders
- Summary
- 3. Debugging with Observability
- The Three Pillars of Observability ... or Is It Two?
- Logs
- Distributed Tracing
- Metrics
- Which Telemetry Is Appropriate?
- Components of a Distributed Trace
- Types of Distributed Tracing Instrumentation
- Manual Tracing
- Agent Tracing
- Framework Tracing
- Service Mesh Tracing
- Blended Tracing
- Sampling
- No Sampling
- Rate-Limiting Samplers
- Probabilistic Samplers
- Boundary Sampling
- Impact of Sampling on Anomaly Detection
- Distributed Tracing and Monoliths
- Correlation of Telemetry
- Metric to Trace Correlation
- Using Trace Context for Failure Injection and Experimentation
- Summary
- 4. Charting and Alerting
- Differences in Monitoring Systems
- Effective Visualizations of Service Level Indicators
- Styles for Line Width and Shading
- Errors Versus Successes
- "Top k" Visualizations
- Prometheus Rate Interval Selection
- Gauges
- Counters
- Timers
- When to Stop Creating Dashboards
- Service Level Indicators for Every Java Microservice
- Errors
- Latency
- Server (inbound) requests
- Client (outbound) requests
- Garbage Collection Pause Times
- Max pause time
- Proportion of time spent in garbage collection
- The presence of any humongous allocation
- Heap Utilization