- Trong 1,5 năm qua, Slack đã chuyển từ cấu trúc đơn sang cấu trúc dựa trên cell để tăng tính dự phòng (redundancy) và giới hạn tác động của sự cố toàn site
- Quá trình này được thúc đẩy bởi nhu cầu cải thiện khả năng phục hồi của dịch vụ Slack sau sự cố gián đoạn mạng vào tháng 6/2021 khiến khách hàng Slack bị suy giảm dịch vụ
- Kiến trúc cellular cho phép mỗi dịch vụ hoạt động như một dịch vụ ảo trên từng vùng sẵn sàng (AZ), nhờ đó sự cố ở một AZ sẽ không ảnh hưởng đến các AZ khác
- Kiến trúc này cũng bao gồm khả năng drain lưu lượng khỏi AZ đang gặp sự cố, qua đó cô lập AZ đó một cách hiệu quả khỏi phần còn lại của hệ thống
- Cơ chế drain được thiết kế để nhanh, không lỗi, diễn tiến dần dần và độc lập với tài nguyên của AZ đang được drain
- Việc chuyển sang kiến trúc cellular còn bao gồm chiến lược siloing, cho phép dịch vụ chỉ nhận và gửi lưu lượng trong chính AZ của nó. Điều này giúp khoanh vùng mọi sự cố trong một AZ duy nhất
- Việc triển khai cơ chế di chuyển lưu lượng tập trung vào hệ thống định tuyến truy vấn của người dùng tới các dịch vụ cốt lõi
- Kiến trúc mới hỗ trợ drain AZ bằng cách tận dụng các tính năng của Envoy như weighted clusters và phân bổ trọng số động thông qua RTDS
- Quá trình chuyển đổi này đã thay đổi cách Slack vận hành và xây dựng dịch vụ, đồng thời cung cấp những công cụ mạnh mẽ mới cho quản lý lưu lượng và giảm thiểu sự cố
- Slack cho biết sẽ đi sâu hơn vào chi tiết triển khai kỹ thuật trong các bài blog tiếp theo và thảo luận về cách kiến trúc mới đã ảnh hưởng đến hoạt động của họ
1 bình luận
Ý kiến Hacker News