8 Tổng kết
6.8 Các giai đoạn hoạt động của ServiceStatus trong một tick
Mỗi đầu tick, Gamebot sẽ gửi thông báo xuống ServiceStatus thông qua hệ thốngAPI, yêu cầu này sẽ được chuyển hướng qua thành phần Bộ phận điều khiển.
Thành phần Bộ phận điều khiển sẽ gửi yêu cầu lại Gamebot để nhận thông tin cập nhật của các đội mới được thay đổi mỗi Round.
Từ các thông tin trả về, thành phầnBộ phận điều khiểnsẽ publish các gói tin các đội cần kiểm tra lên kênh normalCheck của RabbitMQ.
Mỗi một Scriptbot “rảnh rỗi” subscribe normalCheck channel, sẽ được channel này phân phát thông tin một đội để kiểm tra.
Khi các Scriptbot trả thông tin về qua thành phần API thì thông tin sẽ được điều hướng tới thành phần Bộ phận tổng hợp. Nếu thông tin dịch vụ của đội hoạt động
bình thường thì kết quả sẽ được lưu lại. Nếu thông tin rằng dịch vụ của đội không hoạt động, lúc này có hai khả năng về lý do dịch vụ không hoạt động như sau.
• Đội này đang tắt dịch vụ đi để vá lỗi.
• Đội đã chặn yêu cầu dịch vụ từ địa chỉ IP Scriptbot đang sử dụng. Đây là hệ quả của việc chặn địa chỉ IP các đội khác từ vòng trước nên sau khi đổi địa chỉ IP các thành phần trong VPN thì địa chỉ IP của Scriptbot bị chặn.
Lúc này bộ tổng hợp sẽ gửi lại thông tin dịch vụ đội này vào emergencyCheck channel để kiểm tra diện rộng. Thông tin này sẽ được gửi tới tất cả các Scriptbot. Các Scriptbot sẽ cùng vào kiểm tra và gửi kết quả lại về hệ thống API. Các kết quả này sẽ được chuyển
hướng lại thành phần Bộ phận tổng hợp. Nếu có bất kỳ Scriptbot nào báo dịch vụ
không hoạt động thì bộ tổng hợp sẽ xác nhận dịch vụ không hoạt động - đồng nghĩa với việc đội này không có điểm phòng thủ dịch vụ này.
Chương 6
về Ranking để tính toán điểm số cho các đội.
Dưới đây là hai biểu đồ tuần tự cho hai giai đoạn: ra lệnh kiểm tra lần đầu và tổng hợp kết quả của Service Status.