/learn được phục vụ bởi dịch vụ web (module learn) của mọi pod Ayakaleaf Pro, từ bộ nhớ đệm của wiki được đặt trong WIKI_URL. Chức năng của module và những wiki nào hoạt động được được mô tả trong Thêm trợ giúp LaTeX cho người dùng.
Cấu hình
30-config.yaml (additions)
WIKI_URL: nếu không, dịch vụ web sẽ thất bại khi khởi động và bị khởi động lại bên trong pod liên tục, nên pod không bao giờ trở nên sẵn sàng. Hãy tắt module, hoặc cho phép các pod kết nối ra ngoài tới wiki. Khi bộ nhớ đệm đã tồn tại, các pod sẽ khởi động và phục vụ các trang đã lưu đệm ngay cả khi không thể truy cập wiki.
Nhiều replica
Mỗi replica giữ bộ nhớ đệm riêng trên ổ đĩa của node mình, vì vậy mỗi replica tải xuống wiki ở lần khởi động đầu tiên của nó; vớipodManagementPolicy: OrderedReady, chúng thực hiện lần lượt từng cái một. Người dùng có thể thấy một trang ở phiên bản hơi khác trên một replica khác cho đến khi trang đó được làm mới tại đó.
Đã kiểm thử trên Kubernetes
Trên Kubernetes 1.37 với ba replica phía sau HAProxy, mỗi replica tảihttps://learnwiki.overleaf.com vào bộ nhớ đệm trên node của mình ở lần khởi động đầu tiên, các bài kiểm thử end-to-end của chúng tôi cho /learn đều đạt (12 trường hợp): liên kết Documentation trong thanh tiêu đề, thông điệp chào mừng và menu Help của trình soạn thảo, thanh bên mục lục, các trang, liên kết và chuyển hướng bên trong wiki, hình ảnh được tải từ wiki, lỗi 404 cho các trang không xác định, yêu cầu đăng nhập khi không có quyền truy cập công khai, và một trang cũ được phục vụ từ bộ nhớ đệm sau khi WIKI_URL được đổi sang một địa chỉ không thể truy cập. Khi khởi động với bộ nhớ đệm trống và WIKI_URL trỏ tới một địa chỉ từ chối kết nối, pod vẫn ở trạng thái chưa sẵn sàng mà không khởi động lại, trong khi dịch vụ web bên trong nó đã khởi động và thất bại 77 lần trong ba phút.
