Tài liệu này được dịch bằng AI. Để biết thông tin chính xác, vui lòng tham khảo phiên bản tiếng Anh.
Chế độ đa ứng dụng chia sẻ bộ nhớ có ưu điểm rõ rệt trong triển khai và vận hành, nhưng khi số lượng ứng dụng và độ phức tạp của nghiệp vụ tăng lên, một phiên bản duy nhất có thể dần đối mặt với các vấn đề như tranh chấp tài nguyên và giảm độ ổn định. Đối với những kịch bản này, người dùng có thể áp dụng phương án triển khai hỗn hợp đa môi trường để hỗ trợ các nhu cầu nghiệp vụ phức tạp hơn.
Trong chế độ này, hệ thống triển khai một ứng dụng đầu vào làm trung tâm quản lý và điều phối thống nhất, đồng thời triển khai nhiều phiên bản NocoBase làm môi trường chạy ứng dụng độc lập, chịu trách nhiệm thực tế cho các ứng dụng nghiệp vụ. Các môi trường được cách ly với nhau và làm việc cùng nhau, từ đó phân tán áp lực lên một phiên bản duy nhất một cách hiệu quả, nâng cao đáng kể độ ổn định, khả năng mở rộng và khả năng cách ly lỗi của hệ thống.
Về mặt triển khai, các môi trường khác nhau có thể chạy trong các tiến trình độc lập, hoặc được triển khai dưới dạng các container Docker khác nhau, hoặc dưới dạng nhiều Kubernetes Deployment, có khả năng thích ứng linh hoạt với các môi trường hạ tầng có quy mô và kiến trúc khác nhau.
Trong chế độ triển khai hỗn hợp đa môi trường:
Hiện tại chưa cung cấp chức năng tạo môi trường, mỗi ứng dụng công việc cần được triển khai thủ công và cấu hình thông tin môi trường tương ứng trước khi có thể được ứng dụng đầu vào nhận diện.
Trước khi triển khai, vui lòng chuẩn bị các dịch vụ sau:
Redis
Cơ sở dữ liệu
Ứng dụng đầu vào đóng vai trò là trung tâm quản lý thống nhất, chịu trách nhiệm tạo, khởi động, dừng ứng dụng và điều phối môi trường, cũng như làm proxy truy cập ứng dụng.
Giải thích cấu hình biến môi trường của ứng dụng đầu vào:
Ứng dụng công việc đóng vai trò là môi trường chạy nghiệp vụ thực tế, chịu trách nhiệm lưu trữ và chạy các phiên bản ứng dụng NocoBase cụ thể.
Giải thích cấu hình biến môi trường của ứng dụng công việc:
Ví dụ dưới đây trình bày một phương án triển khai hỗn hợp đa môi trường với các container Docker là đơn vị chạy, thông qua Docker Compose để triển khai đồng thời một ứng dụng đầu vào và hai ứng dụng công việc.
Các thao tác quản lý ứng dụng cơ bản không khác gì so với chế độ chia sẻ bộ nhớ, vui lòng tham khảo Chế độ chia sẻ bộ nhớ. Phần này chủ yếu giới thiệu các nội dung liên quan đến cấu hình đa môi trường.
Sau khi triển khai hoàn tất, truy cập trang "Trình quản lý ứng dụng" của ứng dụng đầu vào, bạn có thể xem danh sách các môi trường công việc đã đăng ký trong tab "Môi trường". Thông tin bao gồm mã định danh môi trường, phiên bản ứng dụng công việc, URL truy cập và trạng thái. Ứng dụng công việc gửi nhịp tim (heartbeat) mỗi 2 phút một lần để đảm bảo tính khả dụng của môi trường.

Khi tạo ứng dụng, bạn có thể chọn một hoặc nhiều môi trường chạy để chỉ định ứng dụng đó sẽ được triển khai trên những ứng dụng công việc nào. Thông thường, chúng tôi khuyên bạn chỉ nên chọn một môi trường. Chỉ khi ứng dụng công việc thực hiện chia tách dịch vụ và cần triển khai cùng một ứng dụng lên nhiều môi trường chạy để chia sẻ tải hoặc cách ly năng lượng, bạn mới chọn nhiều môi trường.

Trang danh sách ứng dụng sẽ hiển thị môi trường chạy hiện tại và thông tin trạng thái của từng ứng dụng. Nếu ứng dụng được triển khai trong nhiều môi trường, nhiều trạng thái chạy sẽ được hiển thị. Trong điều kiện bình thường, cùng một ứng dụng trong nhiều môi trường sẽ duy trì trạng thái thống nhất và cần được kiểm soát khởi động và dừng một cách đồng bộ.

Vì khi khởi động ứng dụng có thể ghi dữ liệu khởi tạo vào cơ sở dữ liệu, để tránh tình trạng tranh chấp (race condition) trong môi trường đa môi trường, các ứng dụng được triển khai trong nhiều môi trường sẽ được xếp hàng để thực hiện khởi động.

Ứng dụng công việc có thể được truy cập qua proxy thông qua đường dẫn con /apps/:appName/admin của ứng dụng đầu vào.

Nếu ứng dụng được triển khai trong nhiều môi trường, cần chỉ định một môi trường mục tiêu để truy cập proxy.

Theo mặc định, địa chỉ truy cập proxy sử dụng địa chỉ truy cập của ứng dụng công việc, tương ứng với biến môi trường ENVIRONMENT_URL, cần đảm bảo địa chỉ này có thể truy cập được trong môi trường mạng của ứng dụng đầu vào. Nếu cần sử dụng địa chỉ truy cập proxy khác, có thể ghi đè thông qua biến môi trường ENVIRONMENT_PROXY_URL.