Ayakaleaf Pro yatay ölçeklendirmeyi destekler. Birden fazla replika ile doğru şekilde çalıştığını test ettik ve doğruladık.
Server CE/Server Pro
5.0.3 sürümünden itibaren ortam değişkenlerinin adı SHARELATEX_* yerine OVERLEAF_* olarak değiştirilmiştir.4.x (veya daha eski) bir sürüm kullanıyorsanız, lütfen değişkenlerin buna uygun önekle yazıldığından emin olun (ör. OVERLEAF_SITE_URL yerine SHARELATEX_SITE_URL)Gereksinimler

Harici, merkezi veri depolama
Server Pro’daki veri depolama dört veri deposuna ayrılabilir:-
MongoDB
- Verilerin çoğu MongoDB’de kalıcı olarak saklanır.
- Yerel bir örneği veya MongoDB Atlas (AWS altyapısı içinde çalışan, tamamen yönetilen bir MongoDB hizmeti) gibi harici bir örneği destekliyoruz.
-
Redis
- Redis, MongoDB’ye aktarılmadan önce bekleyen belge güncellemeleri gibi geçici verileri depolar.
- Redis, farklı hizmetler arasında belge güncellemelerini iletmek ve belirli bir projedeki durum değişiklikleri hakkında düzenleyiciyi bilgilendirmek için kullanılır.
- Redis, kullanıcı oturumlarını depolamak için kullanılır.
- Yerel bir örneği veya harici bir örneği destekliyoruz.
-
Proje dosyaları ve Geçmiş dosyaları
- Düzenlenemeyen proje dosyaları MongoDB dışında depolanır. Yeni proje geçmişi sistemi (Server Pro 3.5 ve sonrası) geçmişi de MongoDB dışında depolar.
- Küçük tekil örnekler için yerel bir dosya sistemini (yerel bir SSD, NFS veya EBS ile desteklenebilir) ya da S3 uyumlu bir veri depolama sistemini destekliyoruz.
-
Yatay ölçeklendirme için yalnızca S3 uyumlu veri depolama sistemlerini destekliyoruz.
-
Geçici dosyalar
- LaTeX derlemelerinin en iyi performans için hızlı, yerel disklerde çalışması gerekir. Derleme çıktısının kalıcı olarak saklanmasına veya yedeklenmesine gerek yoktur.
- Yeni dosya yüklemelerinin arabelleğe alınması ve proje zip dosyalarının oluşturulması da yerel disk kullanımından fayda sağlar.
Yerel disk kullanmanızı şiddetle öneririz. Herhangi bir ağ diski (NFS veya EBS gibi) kullanmak beklenmeyen derleme hatalarına ve diğer performans sorunlarına yol açabilir.
Git-bridge
Git-bridge, Server Pro’da 4.0.1 sürümünden itibaren kullanılabilir.
- tüm Server Pro örneklerinden erişilebilen merkezi bir MongoDB örneği
- tüm Server Pro örneklerinden erişilebilen merkezi bir Redis örneği
- proje ve geçmiş dosyaları için merkezi bir S3 uyumlu depolama arka ucu
- geçici dosyalar için her örnekte yerel bir disk
- git-bridge verileri için git-bridge konteynerini barındıran örnekte yerel bir disk
Yük dengeleyici gereksinimleri
-
Kalıcı yönlendirme, ör. bir çerez kullanarak
Bu gereksinim şu bileşenlerden kaynaklanır:
- Server Pro’daki gerçek zamanlı düzenleme özelliği, XHR yoklamasına geri dönüş seçeneğiyle WebSocket’leri kullanır. Her düzenleme oturumunun sunucu tarafında yerel bir durumu vardır ve belirli bir düzenleme oturumunun istekleri her zaman aynı Server Pro örneğine yönlendirilmelidir. İşbirliği özelliği, güncellemeleri birden fazla Server Pro örneği arasında paylaşmak için Redis Pub/Sub kullanır.
- LaTeX derlemesi, isteğe bağlı performans için çıktıyı ve derleme önbelleğini yerel olarak tutar. Bir Server Pro örneğine derleme isteği gönderildiğinde, ardından gelen PDF/günlük indirme isteklerinin de aynı Server Pro örneğine yönlendirilmesi gerekir.
- Büyük LaTeX belgelerinin derlenmesini desteklemek için uzun istek zaman aşımları
- En iyi performans için WebSocket desteği
- 50MB POST yük boyutu
-
Keep-alive zaman aşımı, Server Pro keep-alive zaman aşımından düşük olmalıdır
Server Pro’daki keep-alive zaman aşımı
NGINX_KEEPALIVE_TIMEOUTortam değişkeni kullanılarak yapılandırılabilir. Varsayılan değer 65 sn’dir. Varsayılan değerle, yük dengeleyicide 60 sn’lik bir keep-alive zaman aşımı çalışır.NGINX_KEEPALIVE_TIMEOUT=120ile yük dengeleyici 115 sn seçebilir. -
İstemci IP’leri
X-Forwarded-Foristek başlığını istemci IP’sine ayarlayın. -
SSL sonlandırma yapılırken
Yük dengeleyicinin
X-Forwarded-Proto: httpsistek başlığını eklemesi gerekir.
Örnek HAProxy yapılandırması
Örnek HAProxy yapılandırması
Server Pro yapılandırması
Gizli anahtarlar Server Pro örneklerinin ortak gizli anahtarlar üzerinde uzlaşması gerekir:WEB_API_PASSWORD(web api kimlik doğrulaması)STAGING_PASSWORDveV1_HISTORY_PASSWORDaynı değer (geçmiş kimlik doğrulaması)CRYPTO_RANDOM(oturum çerezi için)OT_JWT_AUTH_KEY(geçmiş kimlik doğrulaması)
/dev/urandom’dan alınan 32 rastgele bayta (256 rastgele bit) dayanan yeni bir rastgele değer kullanır.
OVERLEAF_MONGO_URL değişkenini (4.x ve önceki sürümler için SHARELATEX_MONGO_URL) merkezi MongoDB örneğine yönlendirin.
Redis
OVERLEAF_REDIS_HOST (4.x ve önceki sürümler için SHARELATEX_REDIS_HOST) ve REDIS_HOST değişkenlerini merkezi Redis örneğine yönlendirin.
Proje ve geçmiş dosyaları için S3 uyumlu depolama
Ayrıntılar için lütfen S3 uyumlu depolama belgelerine bakın.
Geçici dosyalar
Yerel bir SSD’nin /var/lib/overleaf (4.x ve önceki sürümler için /var/lib/sharelatex) konumuna varsayılan bind-mount’u yeterli olacaktır. SANDBOXED_COMPILES_HOST_DIR değişkenini ana makinedeki bağlama noktasına yönlendirdiğinizden emin olun.
Yerel disk kullanmanızı şiddetle öneririz. Herhangi bir ağ diski (NFS veya EBS gibi) kullanmak beklenmeyen derleme hatalarına ve diğer performans sorunlarına yol açabilir.
- Doğru istemci IP’leri için
OVERLEAF_BEHIND_PROXY=true(4.xve önceki sürümler içinSHARELATEX_BEHIND_PROXY) ayarlayın. TRUSTED_PROXY_IPSdeğişkenini yük dengeleyicinin IP’sine ayarlayın (virgülle ayrılmış birden fazla CIDR belirtilebilir).
Git-bridge, Server Pro’da 4.0.1 sürümünden itibaren kullanılabilir.
-
GIT_BRIDGE_ENABLEDdeğerini'true'olarak ayarlayın -
GIT_BRIDGE_HOSTdeğerini<git-bridge container name>olarak ayarlayın, ör.git-bridge -
GIT_BRIDGE_PORTdeğerini8000olarak ayarlayın -
V1_HISTORY_URLdeğerinihttp://<server-pro sibling container name>:3100/apiolarak ayarlayın. Not: Bu yalnızca git-bridge konteynerinin kardeş konteynerinde gereklidir. Diğer örnekler varsayılan olan localhost URL’sini kullanabilir.
GIT_BRIDGE_API_BASE_URLdeğerinihttp://<server-pro sibling container name>/api/v0olarak ayarlayın, ör.http://server-pro-ha-1/api/v0GIT_BRIDGE_OAUTH2_SERVERdeğerinihttp://<server-pro sibling container name>olarak ayarlayın, ör.http://server-pro-ha-1GIT_BRIDGE_POSTBACK_BASE_URLdeğerinihttp://<git-bridge container name>:8000olarak ayarlayın, ör.http://git-bridge:8000GIT_BRIDGE_ROOT_DIRdeğerini bind-mount ile bağlanmış git-bridge veri diskine ayarlayın, ör./data/git-bridge
Örnek docker-compose.yml yapılandırması
Örnek docker-compose.yml yapılandırması
Aşağıdaki yapılandırma kendi kendine yeten bir kurulumu göstermektedir. Demonun çalışması için geçerli bir SSL anahtarı/sertifikası sağlamanız ve
OVERLEAF_SITE_URL (4.x ve önceki sürümler için SHARELATEX_SITE_URL) değerini ayarlamanız gerekir. Gerçek bir kurulum için, satır içinde belirtildiği gibi sahte gizli anahtarları gerçek gizli anahtarlarla değiştirmeniz gerekir. Gerçek bir kurulum için ayrıca konteynerleri ayrı ayrı özel düğümlere taşımanız ve IP adreslerini yerel ağ kurulumunuza göre ayarlamanız gerekir.Donanım
Yatay ölçeklendirmeye katılan tüm Server Pro örnekleri için aynı donanım özelliklerini kullanmanızı öneririz. Server Pro örnekleri için genel donanım özellikleri önerileri geçerlidir.Server Pro’yu yükseltme
Yükseltme sürecinin bir parçası olarak Server Pro, veritabanı geçişlerini otomatik olarak çalıştırır. Bu geçişler birden fazla örnekten paralel olarak çalıştırılmak üzere tasarlanmamıştır. Geçişlerin, asıl web uygulaması başlatılmadan önce tamamlanması gerekir. GünlüklerdeFinished migrations girdisini kontrol edebilir veya uygulama trafik kabul edene kadar bekleyebilirsiniz.
Yükseltme prosedürü şu şekildedir:
- Bir bakım penceresi planlayın
- Tüm Server Pro örneklerini durdurun
- Belgelerde açıklandığı gibi tutarlı bir yedek alın
- Yeni sürümle tek bir Server Pro örneği başlatın
- Yeni örneğin beklendiği gibi çalıştığını doğrulayın
- Diğer örnekleri yeni sürümle ayağa kaldırın

