When one component fails, who can keep working?
One process fails. Must unrelated requests wait? Separate failure propagation from throughput limits, then trace what the operating system and service manager can actually isolate.
Questions in this reading · 7
Can a service survive a local failure?
Compare containing an exceptional condition with isolating a failing process. In each case ask which healthy work can still proceed.
Compare original passages and timestamps · 2
it might throttle because the cpu is overheating but it shouldn't crashwhen a process crashes everything else progresses right so most of the system still worksCan healthy work continue when one component fails?
Process isolation and decoupling services address failure at different scales. Both limit propagation, but shared resources can still carry failure across a boundary.
Compare original passages and timestamps · 2
when a process crashes everything else progresses right so most of the system still worksthe ability to isolate bottlenecks so that they don't spread through the systemWho manages a service after startup?
A service manager responds to change across a system. Isolated processes contain failures inside a running application. Each boundary protects different work.
Compare original passages and timestamps · 2
maintaining services needs to listen to hardware and software changesseparating failures by separating things into different processesWhere does the kernel's job end?
Compare the kernel's responsibilities with the work of keeping services running as hardware and software change. Starting a process is just one part of managing its life.
Compare original passages and timestamps · 2
the operating system for this machine includes linux as a component but it also has to include all the restsystemd as a project ends up complementing the linux kernel by providing all of this user space system layerHow far can one bottleneck spread?
Process isolation contains certain runtime failures. Decoupling services can contain a capacity problem. Identify what is still shared before relying on either boundary.
Compare original passages and timestamps · 2
separating failures by separating things into different processesability to isolate bottlenecks so that they don't spreadWhat must happen before work can run in parallel?
Follow the point where workers have to wait. Adding workers helps only after the serial activity that feeds them can keep up.
Compare original passages and timestamps · 2
increasing the chances of pullaways and parallels, unlike the more orderly methodsthe dispatch process itself became a bottleneck and not necessarily justWhat does a repeated microbenchmark leave out?
Compare the costs visible in an isolated hash-table operation with the effect of workload and cache behavior. Microbenchmarks help answer a narrower question than end-to-end measurements.
Compare original passages and timestamps · 2
But without running the data once, how do you know what
dimensions are inconsequential?when you go to time it you're timing the feature of interest which puts it in cash anywayTry it on your own example
Draw the waiting chain and the failure chain for the same incident. Where do they coincide?