Điểm:0

Có thể trừu tượng hóa tính sẵn sàng cao chung cho ứng dụng?

lá cờ in
Rob

Tôi hiện đang kiểm tra các khả năng để làm cho ứng dụng máy chủ hiện tại của chúng tôi có tính khả dụng cao. Phần mềm xử lý các tin nhắn đến qua UDP resp. một số giao thức dành riêng cho đường sắt cấp cao hơn.

Có cách nào (một khung hoặc tương tự) để tạo một lớp trừu tượng xử lý dự phòng và chuyển đổi dự phòng không? Tôi đang nghĩ về thứ gì đó tương đương với bộ điều khiển RAID có phản chiếu, nhưng không chỉ để lưu trữ mà còn cho toàn bộ hệ thống. Từ "bên ngoài", bạn chỉ nhìn thấy một hệ thống với các giao diện mạng của nó. Trong nội bộ, có hai hoặc thậm chí nhiều hệ thống chạy song song và lớp trừu tượng sẽ xử lý mọi thứ, ví dụ: đồng bộ hóa trạng thái ứng dụng giữa các máy dự phòng. Bạn cài đặt phần mềm của mình ở đầu công khai của hộp đen và mọi thứ bên trong sẽ tự động được sao chép. Khi một máy chết, máy kia sẽ ngay lập tức tiếp quản mà không làm mất kết nối vì nó đã ở trạng thái tương tự.

Có bất kỳ loại giải pháp chung cho việc này? Hay chúng ta phải triển khai thủ công điều này bên trong ứng dụng của mình?

Zac67 avatar
lá cờ ru
Không có giải pháp duy nhất cho việc này. Sao chép một máy chủ web phân phối nội dung không khó lắm, HA phân cụm cơ sở dữ liệu + máy chủ ứng dụng còn khó hơn nhiều, đặc biệt là khi chưa có thiết kế.Câu hỏi của bạn sẽ cần đi sâu vào chi tiết hơn để có câu trả lời thực sự hữu ích: hệ điều hành, hệ thống lưu trữ, phương thức lưu trữ (db, tệp phẳng, dựa trên giao dịch, ...), giao thức mạng đang sử dụng, độ trễ chuyển đổi dự phòng tối đa, dung sai tối đa mất dữ liệu, liệu ảo hóa đã được sử dụng hay chưa và cơ sở hạ tầng nào có thể được sử dụng, ...
Điểm:1
lá cờ nr

Pacemaker, Corosync và DRBD là các dự án Linux cung cấp "Khung cụm mở" (OCF), để tạo các dịch vụ Linux chung HA.

Thông thường, DRBD sao chép đồng bộ bộ lưu trữ (ở cấp độ khối), trong khi Corosync và Pacemaker quản lý các nút nào đang chạy dịch vụ nào trong cụm. Các dịch vụ có thể được kiểm soát thông qua các tác nhân tài nguyên OCF (các tập lệnh shell có chức năng và mã thoát tiêu chuẩn) hoặc thông qua các tập lệnh systemd/upstart/sysv-init của dịch vụ. Ngoài ra còn có các tác nhân "bất cứ thứ gì" chung có thể sinh ra và giám sát các quy trình trong cụm, nhưng tôi chỉ sử dụng chúng nếu bạn cảm thấy thực sự lười biếng vì nó không mạnh mẽ.

Một trong những cách dễ nhất, minh bạch nhất để đạt được HA chung là sử dụng Máy tạo nhịp tim và DRBD để tạo cụm KVM. Trong đó VM đã định cấu hình và bắt đầu ứng dụng của bạn khi khởi động và Máy tạo nhịp tim/DRBD xử lý phân cụm bên dưới (trên trình ảo hóa).

Có rất nhiều tài nguyên trực tuyến giải thích các bước chi tiết nếu bạn Google xung quanh, nhưng LINBIT có một hướng dẫn kỹ thuật (đằng sau một bức tường mềm) hướng dẫn từng bước thiết lập điều này: https://linbit.com/tech-guide/drbd9-kvm-rhel8/

Tham khảo thêm:
DRBD: https://linbit.com/
Máy tạo nhịp tim/Corosync: https://clusterlabs.org/

Rob avatar
lá cờ in
Rob
Cảm ơn Matt! Điều đó nghe có vẻ hứa hẹn, tôi sẽ xem xét kỹ hơn về điều đó.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.