this post was submitted on 02 Jul 2023
197 points (97.1% liked)
Haupteingang
56 readers
1 users here now
Die Standard-Community von feddit.de
In dieser Community geht es ausschließlich um alles rund um die Instanz!
Hast du Fragen? [email protected]
matrix chat: !feddit:tilde.fun
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
Ja klar, was man bei Clustering vermeiden muss ist, state im RAM zu halten, weil wenn man das tut und der Client das nächste Mal eine andere Node bekommt, diese nichts davon weiß. Alternativ kann man auch schauen, dass der gleiche Client immer die gleiche Node bekommt, aber das passiert auch nicht von alleine. Das macht restarts dann aber auch schwieriger.
Deswegen hat bei uns auch der devops-Mensch schon in der Entwicklung drauf bestanden, dass ich da dran denke.