How would you design a resilient system that gracefully handles network partitions or offline devices?