- Slack pasó los últimos 1.5 años cambiando de una estructura única a una estructura basada en celdas (Cellular Architecture) para aumentar la redundancia y limitar el impacto de las fallas del sitio
- El cambio fue impulsado por la necesidad de mejorar la resiliencia del servicio de Slack después del incidente de junio de 2021, cuando una interrupción de red causó degradación del servicio para los clientes de Slack
- La arquitectura celular hace que cada servicio opere como un servicio virtual por zona de disponibilidad (AZ), de modo que una falla en una AZ no afecte a las demás
- También incluye una función para drenar el tráfico desde una AZ con problemas, aislándola de forma efectiva del resto del sistema
- El mecanismo de drenaje fue diseñado para ser rápido, sin errores, gradual e independiente de los recursos de la AZ que está siendo drenada
- La transición a una arquitectura celular incluyó una estrategia llamada siloing, que permite que los servicios solo reciban y envíen tráfico dentro de su propia AZ. Esto ayuda a contener cualquier falla dentro de una sola AZ
- La implementación del mecanismo de movimiento de tráfico se centró en el sistema que enruta las consultas de los usuarios hacia los servicios centrales
- La nueva arquitectura aprovecha funciones de Envoy, como weighted clusters y la asignación dinámica de pesos mediante RTDS, para soportar el drenaje de AZ
- Esta transición cambió la forma en que Slack opera y construye sus servicios, y le dio nuevas herramientas sólidas para la gestión del tráfico y la mitigación de fallas
- En futuras publicaciones del blog profundizarán en los detalles de implementación técnica y discutirán cómo la nueva arquitectura impactó las operaciones de Slack
1 comentarios
Comentarios en Hacker News