- MongoDB 8 dưới dạng một replica set (nó sử dụng transaction). Ba thành viên trải trên ba node có thể chịu được việc mất một node; một thành viên duy nhất cũng hoạt động được.
- Redis 7, một máy chủ với lưu trữ bền vững AOF. Redis chứa các chỉnh sửa chưa được ghi vào MongoDB, các phiên, và các thông điệp giữa các dịch vụ Overleaf. Overleaf kết nối tới một máy chủ Redis duy nhất: Sentinel và Redis Cluster không được hỗ trợ.
Bạn có thể dùng các dịch vụ được quản lý thay thế, chẳng hạn MongoDB Atlas hoặc Redis của nhà cung cấp đám mây. Hãy bỏ qua trang này và đặt
OVERLEAF_MONGO_URL và OVERLEAF_REDIS_HOST trỏ tới chúng ở bước 4.1
MongoDB
10-mongo.yaml
PRIMARY và các thành viên còn lại là SECONDARY. Job sẽ thử lại cho đến khi tất cả các thành viên phản hồi, vì vậy việc có vài pod Job thất bại là bình thường.- Service headless cần
publishNotReadyAddresses: true: các thành viên phải tìm thấy nhau theo tên trước khi replica set tồn tại. - Các thành viên được thêm vào bằng tên ổn định của chúng (
mongo-0.mongo.overleaf.svc.cluster.local), không bao giờ dùng IP của pod, vốn thay đổi sau mỗi lần khởi động lại. - Với một thành viên duy nhất, hãy đặt
replicas: 1và chỉ giữ lạimongo-0trong Job.
2
Redis
20-redis.yaml
Q&A
MongoDB 8 bị lỗi khi khởi động trên một kernel mới. Tại sao?
MongoDB 8 bị lỗi khi khởi động trên một kernel mới. Tại sao?
Trả lời: MongoDB 8 gặp lỗi trên Linux kernel 6.19 trở lên (SERVER-121912). Hãy bỏ chú thích biến môi trường
GLIBC_TUNABLES trong 10-mongo.yaml.MongoDB cần bao nhiêu bộ nhớ?
MongoDB cần bao nhiêu bộ nhớ?
Trả lời: Theo mặc định, MongoDB dùng một nửa bộ nhớ của node trừ đi 1 GB cho bộ nhớ đệm, và nó nhìn thấy bộ nhớ của node chứ không phải giới hạn của pod. Hãy đặt
--wiredTigerCacheSizeGB cho phù hợp với các node của bạn; giá trị 0.25 giữ mỗi thành viên ở mức khoảng 200 đến 260 MiB trên các node thử nghiệm 4 GB của chúng tôi.
