27 Punkte von xguru 2023-12-26 | 3 Kommentare | Auf WhatsApp teilen
  • Threads wurde im Juli 2023 gestartet und erreichte in den ersten fünf Tagen 100 Millionen Registrierungen
  • Ein kleines, agiles Engineering-Team baute Threads mit nur fünf Monaten technischer Arbeit
  • Die reibungslose Skalierung während des Ansturms bei den Registrierungen ist das Ergebnis von mehr als zehn Jahren Arbeit an Infrastruktur und Produktentwicklung
  • Es wurde keine speziell für Threads entwickelte Infrastruktur verwendet, sondern Infrastruktur, die bei Meta bereits für zahlreiche Produkte aufgebaut worden war
  • Tatsächlich kam eine enorme Menge an Infrastruktur zum Einsatz; vorgestellt werden jedoch vor allem der verteilte Key-Value-Store ZippyDB und die asynchrone serverlose Funktionsplattform Async

ZippyDB: Skalierung des Keyspace für Threads

  • ZippyDB ist eine verteilte Key-Value-Datenbank, die von Grund auf auf Basis von Metas Infrastruktur entwickelt wurde, und ein vollständig verwalteter Service, auf dem Engineers aufbauen können
  • In ZippyDB gehostete Keyspaces lassen sich relativ einfach hoch- und herunterskalieren und flexibel über mehrere Rechenzentren hinweg bereitstellen
  • Als Social-Graph-Speicher wird das auf MySQL basierende TAO (The Associations and Objects) verwendet
  • ZippyDB ist das Key-Value-Gegenstück zu MySQL und wird für Counter, Feed-Ranking/-Status, Suche und mehr eingesetzt

Optimierung von ZippyDB und Produkt-Launch

  • Mit dem Resharding-Protokoll von ZippyDB lässt sich der Sharding-Faktor für ZippyDB-Anwendungsfälle schnell erhöhen, ohne Auswirkungen auf Clients und bei vollständiger Konsistenz und Korrektheit
  • Durch das Provisionieren eines neuen Satzes physischer Shards und das Installieren neuer logisch-physischer Shard-Zuordnungen für Clients über Live-Konfigurationsänderungen kann Resharding ohne Downtime durchgeführt werden
  • Die Resharding-Operationen wurden so entworfen, dass sie sich horizontal skalieren lassen, sodass sich die Resharding-Geschwindigkeit bei Bedarf wie zum Launch von Threads erhöhen lässt
  • Es wurde eine Reihe von Notfall-Operator-Tools entwickelt, um plötzliche Wachstumsschübe bei Anwendungsfällen einfach bewältigen zu können

Async: Skalierung der Workload-Ausführung für Threads

  • Async (oder XFaaS) ist eine serverlose Funktionsplattform, die Engineers dabei hilft, die Zeit von der Lösungsidee bis zum Deployment in Produktion zu verkürzen
  • Async verarbeitet derzeit täglich Billionen von Funktionsaufrufen und unterstützt verschiedene Programmiersprachen wie HackLang, Python, Haskell und Erlang
  • Es abstrahiert die Details von Deployment, Queueing, Scheduling, Skalierung, Disaster Recovery und Bereitschaft, damit sich Entwickler auf die zentrale Business-Logik konzentrieren können
  • Async wird hauptsächlich für Aufgaben verwendet, die ohne Beeinträchtigung der User Experience einige Sekunden bis mehrere Stunden später ausgeführt werden können
  • Es spielt in Threads eine wichtige Rolle dabei, den Aufbau der Community schnell zu unterstützen, indem Nutzer in Threads auch den Personen folgen können, denen sie auf Instagram bereits folgen
  • Um in fünf Tagen 100 Millionen Nutzer zu bewältigen, war erhebliche Verarbeitungskapazität nötig; Async absorbierte die erhöhte Last elegant und stellte sie für eine kontrollierte Ausführung in Queues ein

Wo Infrastruktur und Kultur zusammenkommen

  • Die schnelle Entwicklung von Threads innerhalb von nur fünf Monaten technischer Arbeit zeigt die Stärke von Metas Infrastruktur und Engineering-Kultur deutlich
  • Metas Produkte nutzen gemeinsam genutzte Infrastruktur, die sich über lange Zeit in Tests bewährt hat, sodass Produktteams sich schnell bewegen und erfolgreiche Produkte rasch skalieren können
  • Diese Infrastruktur ist hochgradig automatisiert, sodass mit Ausnahme der Bemühungen zur kurzfristigen Bereitstellung von Kapazität die automatische Umverteilung von Workloads, Load Balancing und Skalierung nahtlos und transparent erfolgen
  • Meta verfolgt eine schnell agierende Engineering-Kultur, in der Engineers mit starkem Ownership-Gedanken zusammenarbeiten, um große gemeinsame Ziele effizient zu erreichen

3 Kommentare

 
lakalaka 2023-12-26

Verdammt cool

 
jangsc0000 2023-12-26

Verstanden~

 
[Dieser Kommentar wurde ausgeblendet.]