Ich hab’ nen Account auf lemmy.world und die mussten ganz schön zaubern, um die Instanz bei so vielen Benutzern noch halbwegs funktional zu halten. Gerade wurde auf die aktuellen Release Candidates von 0.18.1 migriert und da laufen jetzt mehrere Docker-Container für die UI und das Backend und ein dedizierter Container nur für den Scheduler mit nginx als Load Balancer dazwischen …
Das klingt eher normal für ein Serversystem mit viel Traffic. Ich arbeite für ein SaaS-Unternehmen, und unser Devops-Mensch hat uns angehalten, die Server-Software auf genau so eine Architektur vorzubereiten, auch wenn wir momentan nur eine Instanz brauchen.
Mag sein, aber der Ruud macht das als “Hobby” und es gibt bislang wenig bzw. keine Erfahrung, wie lemmy skaliert. Daher sind seine Erfahrungen m. E. ja so wertvoll für die Community.
Naja, die Implementierunsgsprache ist zwar auch wichtig, aber das Design von Protokollen, Datenstrukturen, Code/Concurrency und Infrastruktur ist gar nicht so sehr abhängig davon. Das ist mir schon oft in der OOP-Welt aufgefallen. Nur weil etwas in einer objektorientierten Sprache implementiert ist, hat es nicht automatisch ein gutes bzw. gut skalierbares Design. Ähnliches gilt auch für Rust oder Golang, obwohl beide natürlich spezielle Stärken haben wie memory safety und concurrency.
Ich hab’ nen Account auf
lemmy.world
und die mussten ganz schön zaubern, um die Instanz bei so vielen Benutzern noch halbwegs funktional zu halten. Gerade wurde auf die aktuellen Release Candidates von0.18.1
migriert und da laufen jetzt mehrere Docker-Container für die UI und das Backend und ein dedizierter Container nur für den Scheduler mit nginx als Load Balancer dazwischen …Das klingt eher normal für ein Serversystem mit viel Traffic. Ich arbeite für ein SaaS-Unternehmen, und unser Devops-Mensch hat uns angehalten, die Server-Software auf genau so eine Architektur vorzubereiten, auch wenn wir momentan nur eine Instanz brauchen.
Mag sein, aber der Ruud macht das als “Hobby” und es gibt bislang wenig bzw. keine Erfahrung, wie lemmy skaliert. Daher sind seine Erfahrungen m. E. ja so wertvoll für die Community.
Mit Rust sollte das wesentlich einfacher sein als bei Mastodon mit Ruby on Rails.
Naja, die Implementierunsgsprache ist zwar auch wichtig, aber das Design von Protokollen, Datenstrukturen, Code/Concurrency und Infrastruktur ist gar nicht so sehr abhängig davon. Das ist mir schon oft in der OOP-Welt aufgefallen. Nur weil etwas in einer objektorientierten Sprache implementiert ist, hat es nicht automatisch ein gutes bzw. gut skalierbares Design. Ähnliches gilt auch für Rust oder Golang, obwohl beide natürlich spezielle Stärken haben wie memory safety und concurrency.