Câu 1 : Anh Dũng ơi, anh có làm zero downtime deployment chưa ạ. Anh có thể chia sẻ em cách xử lý zero downtime được không ạ.
Câu 2 : Khi deploy code mới lên mà vẫn còn message trong queue chưa xử lí xong thì phải làm thế nào ạ ?
Giả sử logic của code cũ và code mới là khác nhau và muốn message cũ giữ logic của code cũ. Em xin chân thành cảm ơn anh
1. Anh thấy có nhiều cách để làm, ví dụ:
– Rolling update: Khởi động lại dần dần các server, bọn anh đang dùng cách này
– Blue Green Deployment: Tạo ra 2 tài nguyên phần cứng chạy song song, sau đó kiểm tra traffic đã vào server mới được update chưa thì có thể tắt server cũ.
– Canary deployment: Deploy trên các tập user khác nhau, cái này facebook hay các hệ thống global hay dùng em ạ
2. Bọn anh thường chặn traffic và chờ 1 khoảng thời gian, ví dụ 1 phút chẳng hạn, để các message được tiêu thu hết.