Updated on 2023-07-14 GMT+08:00

Resilience

  • Redundancy: All services are stateless. Requests are distributed to different instances to implement load balancing based on the server load balancing capability provided by the IaaS layer. API gateways are used to provide services for downstream systems. The gateways use methods such as rate limiting, circuit breaker, and service degradation to ensure that services are not interrupted during upgrades.
  • Cross-AZ DR: Services are evenly distributed in different AZs and can be rebuilt across AZs. If instances do not exist in an AZ, the IaaS layer schedules new instances to other AZs to ensure that the system is not overloaded. In the single-AZ failure scenario, the integrity of persistent data can still be ensured.
  • For the IaaS layer, monitoring metrics such as the CPU, memory, network, and disk are provided. For the application layer, information such as metrics and logs is automatically reported. In addition, alarms are generated when critical problems occur.
  • Each service has the rate limiting capability and will not be overwhelmed by heavy traffic.
  • Services use the container environment, and the IaaS layer provides lifecycle management and container scheduling. When a crash occurs, instances will be scheduled and new ones will work.