Freunde, wir haben mit der Firma Ontiko vereinbart, dass wir die besten Berichte ihrer Konferenzen auf unserem Youtube-Kanal veröffentlichen und mit Ihnen teilen. Wir wollen also nicht nur Wissen verbreiten, sondern auch unseren Lesern und Zuschauern helfen, sich professionell zu entwickeln. Hier finden Sie eine Auswahl der 15 besten Berichte, die bei Highload ++ 2018 erstellt wurden.
Tarantool-Replikation: Konfiguration und Verwendung
Georgy Kirichenko, Mail.ru GroupDie Tarantool-Replikation wird verwendet, um eine hohe Verfügbarkeit durch Sichern von Servern oder Cluster-Servern für den Lastausgleich bereitzustellen, und kann auch zum Ausführen von Upgrade-Vorgängen verwendet werden. Neuere Versionen von Tarantool verfügen über mehrere zusätzliche Funktionen, die die Konfiguration und Verwendung der Replikation in einem Cluster vereinfachen.
Der Bericht untersuchte die Grundprinzipien des Geräts und die Funktionen der asynchronen Replikation in Tarantool. Wir beschäftigen uns mit der internen Struktur des Zustandsvektors - vclock. Sie diskutieren Möglichkeiten, um die Datenkonsistenz sicherzustellen und sich mit neuen Funktionen zu befassen. Die Grundprinzipien der Konfiguration, ihre Anwendbarkeit und die häufigsten Fehler werden berücksichtigt und Möglichkeiten zur Lösung der Probleme bei Konfiguration und Betrieb werden erörtert.
Technische Aspekte der Blockierung des Internets in Russland. Herausforderungen und Perspektiven
Philip Culin, tiefer WaldTechnische Details der Schlösser. Da ist der Sperrmechanismus jetzt organisiert. Wer, was, wo, wann und wie. Warum ist es so organisiert. Warum ILV ganze Netzwerke blockiert. Was ist das Problem des aktuellen Verriegelungsmechanismus aus technischer Sicht. In welche Richtung sollten wir uns aus technischer Sicht im Rahmen minimaler Änderungen des heutigen Rechtsrahmens bewegen?
Vorhersage des Online-Shop-Umsatzes mithilfe von Gradient Boosting (lightGBM)
Alexander Alekseytsev, OZON.RUDieser Bericht handelt von einem automatischen Lagernachfüllsystem. Das Gehirn des Systems ist ML für die Vorhersage von Verkäufen: Festlegen einer Aufgabe und Auswählen einer Verlustfunktion, Arbeiten mit Attributen, Generieren eines Datensatzes, Auswählen eines Modells, Fallstricke des lightGBM-Lernprozesses, Auswerten der Ergebnisse. Systemskelett - Spark / Hadoop: Tägliche Bereitstellung / Validierung von Daten, wodurch die Zuverlässigkeit des Systems erhöht wird. Geschäftsrealitäten bei der Beschaffung von Waren: Lieferantenauswahl, Versicherungsbestände, Kampf mit dem Servicelevel der Lieferanten.
Alexander sprach auch über die Verwendung geschulter lightGBM-Modelle, um die Elastizität der Nachfrage nach Waren zum Preis der Planung von Marketingkampagnen und deren Auswirkungen zu bewerten. Verschiedene Arten von Funktionen der Abhängigkeit der Nachfrage von Preisen für verschiedene Arten von Waren und viel mehr als "Nebeneffekt" von der Hauptaufgabe erhalten.
Wie wir an der Stabilität unserer Lua-Implementierung arbeiten
Anton Soldatov, IPONWEBIPONWEB verwendet Lua seit über 10 Jahren zur Beschreibung der Geschäftslogik. 2015 gabelten sie LuaJIT und arbeiten seitdem mit ihrer eigenen Sprachimplementierung. Diese Komponente des technologischen Stacks ist für das Unternehmen von entscheidender Bedeutung, daher wird seiner Stabilität besondere Aufmerksamkeit gewidmet.
Anton erzählte, wie sie eine Testbasis für die Implementierung von Grund auf neu erstellt haben. Ich habe mehrere Fälle untersucht, in denen sich Tests vor der Komplexität des zu testenden Systems als machtlos erwiesen haben. Infolgedessen ist auf den Kampfservern „plötzlich“ und „unregelmäßig“ etwas kaputt gegangen. Die Erfahrungen, die sie bei der Behebung solcher Fehler gesammelt haben, können auf die Arbeit mit LuaJIT angewendet werden. Und schließlich teilte Anton die Tools und Tricks mit, die ihre Unternehmen beim Debuggen verwenden.
Ort der Sicherheit auf Zeilenebene in einem Hochlastprojekt
Alexander Tokarev, DataArtEin Bericht darüber, wo und wie die Sicherheit auf Zeilenebene für ein hoch geladenes Projekt am besten organisiert werden kann. Er beschrieb die Wahl, wie Sicherheit auf Zeilenebene in einem hoch ausgelasteten Unternehmensprojekt implementiert werden soll (4000 Benutzer, 10000 Anforderungen gleichzeitig, Transaktions- und Olap-Last gleichzeitig). Er analysierte drei Implementierungstechnologien für die Sicherheit auf Zeilenebene in Oracle DBMS und warum diese als Sicherheit in der Datenbank und nicht auf dem Anwendungsserver ausgewählt wurde. Er sprach über die getroffene Wahl, über die Probleme und Zukunftspläne.
Wie wir unseren eigenen Netfilter mit Intel DPDK und Präfixbäumen erstellt haben
Alexander Samoilov, SicherheitscodeLinux Netfilter ist das Herzstück einer großen Menge offener und kommerzieller ITU. Dies ist eine bewährte, zuverlässige und in jüngerer Zeit sogar recht produktive Lösung. In modernen Realitäten ist Linux Netfilter der Engpass, wenn häufig Dutzende von Gigabit Verkehr durch die ITU geleitet werden müssen und die Anzahl der Filterregeln mehr als tausend betragen kann.
Alexander sprach darüber, wie sie das Linux-Netzwerksubsystem umschrieben, das sich als schnell herausstellte - Dutzende Gigabit zustandsbehafteter und zustandsloser Filterung, Sitzungsverfolgung, NAT und Routing, einfach zu verwalten - und dem Subsystem beibrachte, die Befehle bekannter Dienstprogramme von iproute2 und nftables unabhängig von der Anzahl zu verstehen Filterregeln.
VShard - horizontale Skalierung in Tarantool
Vladislav Shpileva, TarantoolBis 2018 war Shard das einzige Mittel zur horizontalen Skalierung des Tarantool-DBMS - ein Modul, das Sharding implementiert, ein Sonderfall der horizontalen Skalierung. Shard implementiert Sharding nach Funktion vom Primärschlüssel aus, unterstützt das Ändern der Clustertopologie und das Neuausgleichen. Gleichzeitig hat er drei wesentliche Nachteile, die die Verwendung von Shard in einem der wichtigen Projekte verhindert haben.
Anfang des Jahres wurde die Entwicklung des neuen VShard-Moduls abgeschlossen - dies ist eine alternative Implementierung von Sharding. Darin wird die Neuausrichtung schrittweise durchgeführt. Sie können eine beliebige Shard-Funktion angeben, um die Lokalität der zugehörigen Daten sicherzustellen. Das Ergebnis der Berechnung der Shard-Funktion wird in jedem Datensatz gespeichert und nicht neu berechnet. Vladislav sprach über das interne Gerät von VShard, über seine Subsysteme und die Implementierung mit Anwendungsbeispielen und über die neuen Funktionen von VShard 0.2.
Die über 150 Millionen Benutzer von BBM nutzen die Migration von Oracle zu Postgres ohne Ausfallzeiten
Alvaro Hernandez, OnGres (Vortrag auf Englisch)BBM (Black Berry Messenger) ist einer der weltweit größten Instant Messenger mit den Funktionen Text-, Sprach- und Videokommunikation. Die Abonnentenbasis beträgt mehr als 150 Millionen Benutzer. Er arbeitete am lokalen DBMS Oracle. Wir haben geholfen, es auf PostgreSQL zu migrieren, das auf GCP mit Echtzeitreplikation praktisch ohne Ausfallzeiten ausgeführt wird. Alvaro beschrieb ausführlich den Prozess und die Fallstricke, Techniken, Technologien und Best Practices für die Migration von Oracle zu PostgreSQL ohne Ausfallzeiten. Heutzutage sind viele Menschen an einer solchen Migration interessiert, aber sie erfordert eine hohe Qualifikation und Beteiligung an einem Prozess, in dem sie mit vielen Schwierigkeiten konfrontiert ist.
Hoch belastetes verteiltes Steuerungssystem eines modernen Kernkraftwerks
Vadim Podolny, Physisches InstrumentIn diesem Bericht erfahren Sie mehr über die neue Plattform eines verteilten Steuerungssystems für Kernkraftwerke und wie Sie die komplexesten Automatisierungsanlagen der Welt verwalten. Echtzeitsteuerung der Arbeit von mehr als 150 speziellen Teilsystemen, die für verschiedene technologische Prozesse von Kernkraftwerken verantwortlich sind. Mehr als 100.000 Datenquellen von Sensoren und bis zu 500 KB berechnete Parameter. 5 verschiedene physikalische Prozesse.
Mit einigen Abweichungen wird das gesamte System zu einer riesigen DDoS-Quelle nützlicher Diagnoseinformationen, die die normale Steuerung des Objekts beeinträchtigen. Sie erfahren, wie wir solche Probleme „lösen“, wie die Hardware- und Softwarearchitektur von Systemen wie Backup und Replikation funktioniert und warum Datenredundanz und technologische Vielfalt erforderlich sind. Wie das Lastmanagement bereitgestellt wird, wie QoS funktioniert. Und was passiert, wenn das normale Betriebssystem heruntergefahren wird, wie zum Beispiel auf Fukushima.
4K Millionen Online-Streaming-Plattform
Alexander Tobol, KlassenkameradenService Video in Odnoklassniki - die zweite Site in Runet für Videoaufrufe: 600 Millionen Aufrufe täglich. Mit der Streaming-Plattform OK können Sie jetzt professionelle Sendungen in 4K durchführen, von Ihrem Telefon auf FullHD streamen und Benutzern mehr als 3 TB / s Datenverkehr bieten.
Alexander erzählte von:
- 4K-Video-Streaming-Pipeline für Millionen online;
- Architektur des Content Delivery-Systems
- TCP-Optimierung für 4K-Verteilung;
- Wie und warum müssen Sie auf ffmpeg verzichten und Videos auf der GPU schneiden?
- Was tun, wenn die Kapazitäten zur Neige gehen und die Benutzer immer wieder kommen?
- Streaming-Probleme auf TCP;
- die Zukunft des Video-Streamings.
Jüngste Änderungen im Linux IO-Stack aus DBA-Sicht
Ilya Kosmodemyansky, DatenreiherE / A-Leistungsprobleme stehen seit der Existenz von Datenbanken auf der Tagesordnung der Datenbankadministratoren. Linux, wahrscheinlich das beliebteste Datenbankbetriebssystem, hat den E / A-Stack in den letzten Jahren überarbeitet.
Ilya sprach darüber, was passiert, warum der IO-Stack dringend verbessert werden muss und was dies für Datenbanken bedeuten kann. Wie die neuen NVMe- und blk-mq-Treiber verbessert werden. Als nützliches Memo schlug Ilya eine Checkliste mit PostgreSQL- und Linux-Einstellungen vor, um die Leistung des E / A-Subsystems in den neuen Kerneln zu maximieren.
FAQ zu Architektur und Arbeit VKontakte
Alexey Akulovich, VKAlexey hat viele Themen und Fragen aufgeworfen, die Menschen "von außen" haben.
Zum Beispiel:
- Die allgemeine Architektur der Interaktion unserer Server.
- Gibt es ein "normales" PHP in VKontakte, wo und warum? Und welche anderen Atomwaffen werden eingesetzt?
- So aktualisieren Sie Code auf Zehntausenden von Servern in Sekunden.
- Fehlertoleranz von Memcache-Clustern mit ständig ausfallenden Servern.
- Warum VKontakte eigene Motoren (DB) hat, wie viele davon und wie sie damit leben.
- Wie sich binlog von Snapshot unterscheidet und wie man "DELETE zurücksetzen" kann.
- Wie können Sie das alles überwachen?
Facebook DNS
Oleg Obleukhov, FacebookOleg sprach darüber, wie Facebook die Last ausgleicht und was die DNS-Infrastruktur damit zu tun hat, wie Ressourceneinträge in die globale Infrastruktur von Facebook fallen und wie das Unternehmen DNS in der Hundefutterorganisation verwendet.
Datenbanken und KubernetesDevOps und Betrieb
Dmitry Stolyarov, FlantDmitry teilte seine Erfahrungen mit und berichtete anhand konkreter Beispiele, in welchen Fällen es sinnvoll ist, Datenbanken (und im Allgemeinen zustandsbehaftete Anwendungen) in Kubernetes zu platzieren, und in welchen Fällen dies ungerechtfertigt oder sogar schädlich und gefährlich ist.
Diese Auswahl finden Sie auf unserem
Technostream Youtube-Kanal . Wir haben es erstellt, um eine Vielzahl von Lehrmaterialien zu teilen, einschließlich der Vorträge unserer pädagogischen Technologieprojekte. Wir haben bereits über Technostream auf Habré geschrieben. Wenn Sie noch nichts davon gehört haben,
lesen Sie es . Und komm oft zurück, dort taucht ständig etwas Interessantes auf.