How would you architect a fault-tolerant microservice ecosystem on GCP that must maintain strict data integrity during a zone outage?