Thời gian hoạt động của một bot Discord tùy chỉnh được lưu trữ hoàn toàn phụ thuộc vào hạ tầng phía sau nó. Với Bot tùy chỉnh của Noxyr, hạ tầng đó là một nhóm node lưu trữ: chúng tự động chọn máy chủ cho bot của bạn, liên tục kiểm tra mỗi vài giây, và chuyển bot sang máy khác mà bạn không cần đụng đến bất kỳ máy chủ nào. Bạn dán token vào; bạn không cần cấp phát, vá lỗi hay khởi động lại thứ gì.

A user's bot token runs on a Noxyr node and comes online as their own branded bot. Your token Noxyr node MyBot Online

Bạn không quản lý máy chủ, các node của Noxyr làm việc đó

Mỗi node là một tiến trình duy nhất, lưu trữ mọi bot tùy chỉnh được gán cho nó, và kiểm tra theo chu kỳ ngắn để khởi động các bot cần chạy, dừng những bot không cần chạy, và ghi lại nhịp tim để website đọc. Đó là toàn bộ công việc hạ tầng làm thay bạn, nếu không bạn sẽ phải tự làm trên VPS: giữ cho tiến trình luôn sống, theo dõi khi nó bị sập, và đăng nhập lại khi Discord ngắt kết nối vì một lý do không phải lỗi của bạn.

Cách chọn máy khi bạn thiết lập

Tự động là mặc định và đây là lựa chọn hầu hết mọi người nên giữ. Nó luôn chọn node nào còn chỗ trống, và các node được lấp đầy theo thứ tự cố định: một node được dùng hết trước khi node tiếp theo bắt đầu nhận bot mới, thay vì chia tải đều và để mọi node chỉ đầy một nửa. Nếu bạn chọn máy cụ thể bằng tay, bạn vẫn được định tuyến đến một node thực sự đang hoạt động phía sau: nếu máy bạn chọn đang offline hoặc đầy đúng lúc đó, node tốt nhất hiện có sẽ được dùng thay vì việc thiết lập bị lỗi.

Điều gì khiến một node "đầy"

Có hai kiểm tra quyết định điều này, không phải một. Một node ngừng nhận bot mới khi đạt đến giới hạn số bot của chính nó, và riêng biệt, khi thêm một bot nữa sẽ đẩy mức sử dụng bộ nhớ đo được gần đến ngưỡng tối đa. Kiểm tra thứ hai tồn tại vì riêng giới hạn số lượng không tính đến việc các máy chủ bận rộn dùng nhiều bộ nhớ hơn cho mỗi bot so với máy chủ vắng. Một node có vẻ còn chỗ theo số lượng bot vẫn có thể quá gần với việc hết bộ nhớ để nhận thêm bot một cách an toàn. Dù giới hạn nào bị chạm trước, các thiết lập mới sẽ tự động chuyển sang node tiếp theo.

Chuyển bot sang máy lưu trữ khác

Đổi Node trên trang Bot tùy chỉnh sẽ chuyển một bot đang chạy sang nơi khác. Mỗi lần chuyển là một lần đăng nhập Discord mới, và Discord giới hạn tần suất mà một bot có thể làm việc đó, nên có thời gian chờ năm phút giữa các lần chuyển. Một lần chuyển thực sự sẽ khởi động lại bot trong thời gian ngắn khi nó kết nối lại trên node mới. Cài đặt, vé hỗ trợ, catalog và mọi thứ khác của bạn không bị ảnh hưởng, vì tất cả nằm trong cơ sở dữ liệu dùng chung, không nằm trên node đang chạy tiến trình.

Chuyện gì xảy ra nếu một node gặp sự cố

Nếu nhịp tim của bot bị cũ, nghĩa là node đã ngừng nhận phản hồi từ nó, bot chính của Noxyr sẽ tự động vào thay và phục vụ lại máy chủ đó, nên thành viên không bao giờ bị rơi vào tình trạng không có bot nào trả lời. Khi node hoặc đăng nhập phục hồi, bot tùy chỉnh sẽ tự tiếp quản máy chủ ở lần kiểm tra tiếp theo. Trong trường hợp thông thường, việc này không cần phiếu hỗ trợ; đó là cùng một vòng lặp tự phục hồi đã khởi động bot của bạn lần đầu tiên bạn thiết lập.

Vì sao các node được lấp đầy theo thứ tự cố định thay vì trải đều

Dễ nghĩ rằng tải được cân bằng đều trên mọi node, node này một chút, node kia một chút. Noxyr làm ngược lại có chủ đích: một node được lấp đầy hoàn toàn trước khi node tiếp theo nhận dù chỉ một bot mới. Cách này giữ số lượng node thực sự đang chạy tại mọi thời điểm ở mức nhỏ nhất có thể cho tải hiện tại, thay vì để nhiều node cùng chạy nhẹ, và điều này quan trọng với hiệu quả sử dụng hạ tầng bên dưới. Nó không ảnh hưởng đến hành vi bot của bạn theo cách nào; vòng lặp đồng bộ và nhịp tim hoạt động giống hệt nhau bất kể node nào cuối cùng chạy nó.

Các con số trên bảng điều khiển thực sự có nghĩa gì

Ping hiển thị cho một máy chủ là một phép đo thực tế, không phải phỏng đoán. Mỗi node định kỳ đo thời gian phản hồi một yêu cầu tới endpoint gateway của chính Discord và báo cáo giá trị trung bình. Trạng thái trực tuyến/ngoại tuyến của node dựa trên thời điểm nó báo cáo lần gần nhất. Một node im lặng trong một khoảng thời gian ngắn sẽ được coi là không khả dụng, chứ không được giả định là vẫn ổn. Đây cũng là điều kích hoạt bot chính của Noxyr vào thay và phục vụ một máy chủ có bot tùy chỉnh bị im lặng.

Thời gian hoạt động so với VPS trả phí

Chạy VPS riêng cho bạn toàn quyền kiểm soát máy, và cũng toàn quyền chịu trách nhiệm phát hiện khi máy ngừng hoạt động. Bot tùy chỉnh được lưu trữ đánh đổi quyền kiểm soát đó để đổi lấy việc người khác có trách nhiệm phát hiện trước. Không cách nào luôn tốt hơn trong mọi trường hợp. Nếu bạn đang cân nhắc giữa hai lựa chọn, xem so sánh đầy đủ tại bot tùy chỉnh so với tự lưu trữ trên VPS.

Câu hỏi thường gặp

Làm sao để kiểm tra bot của tôi có đang trực tuyến không? Trang Bot tùy chỉnh trên bảng điều khiển hiển thị trạng thái trực tiếp, không chỉ cho biết bot có được bật hay không.

Tôi có bị mất cài đặt khi bot chuyển sang node khác không? Không. Cài đặt nằm trong cơ sở dữ liệu dùng chung, không phụ thuộc vào tiến trình node nào đang chạy bot.

Tôi có thể chọn một node cụ thể thay vì Tự động không? Được, nhưng bot luôn được đưa đến một máy chủ thực sự đang hoạt động, ngay cả khi máy bạn chọn đang đầy hoặc offline vào thời điểm đó.

Trạng thái trên bảng điều khiển làm mới bao lâu một lần? Mỗi vài giây. Node nào ngừng nhận tín hiệu từ bot của bạn sẽ được phát hiện nhanh chóng, không phải sau một khoảng trễ dài.

Thời gian ngừng hoạt động có bị tính phí hay bị phạt theo cách nào không? Không. Không có khoản thanh toán nào liên quan. Sự cố về thời gian hoạt động không khiến bạn mất gì ngoài việc bot tạm thời không khả dụng trong lúc kết nối lại.

Các yêu cầu thiết lập đầy đủ nằm trong tài liệu Bot tùy chỉnh, còn cơ chế chọn node và Đổi Node chính xác nằm trong tài liệu lưu trữ bot tùy chỉnh.