Zusätzliche Vorlesungen des Kurses „Entwerfen hoch belasteter Systeme“ (Herbst 2018) in Technopolis

Bild

Wir veröffentlichen weiterhin Vorträge zum Kurs „Entwerfen hoch belasteter Systeme“, der von einem Team von Odnoklassniki-Ingenieuren im Rahmen des zweijährigen Programms „Java Developer of Highly Loaded Applications“ des Technopolis- Projekts (ein gemeinsames Projekt der Mail.Ru Group und SPbPU) von Studenten der Polytechnischen Universität St. Petersburg unterrichtet wird. Im Jahr 2017 wurden 10 Vorlesungen (30 Stunden Video) gelesen und hochgeladen, aber das Thema Highload ist so umfangreich, dass es unmöglich ist, alles in einem Semester abzudecken. Wir haben uns nur kurz mit den Hauptaspekten der Hochlastentwicklung befasst, von denen jeder einen eigenen Kurs verdient. In diesem Jahr schließen wir weiterhin weiße Flecken und präsentieren Ihnen sechs Vorträge zu neuen Themen: Wir beginnen mit dem parallelen Rechnen und Live-Codieren der ersten Phase eines Kursprojekts für Studenten. Anschließend beschäftigen wir uns mit den JVM-Überwachungs- und Diagnosetools und gehen dann zu Fehlertoleranzproblemen über. Und nach einer Vorlesung über fortgeschrittene Algorithmen, die in hoch belasteten Projekten relevant sind, beenden wir den Zyklus mit einer Vorlesung über bestehende Replikationsansätze und deren Anwendbarkeit auf verschiedene Aufgaben.

Die ersten zehn Vorträge .

Liste der neuen Vorträge:

  1. Schauspieler Modell. Zukunft Reaktive Ströme (Vadim Tsesko Inkubos )
  2. Live-Codierung der zweiten Phase des Projekts (Vadim Tsesko Incubos )
  3. Überwachung und Diagnose von JVM (Andrey Pangin Apangin )
  4. Site Reliability Engineering (Anton Ivanov Keyplayer )
  5. "Moderne" Datenstrukturen (Dmitry Shchitinin dormidoncheg )
  6. Replikation (Dmitry Shchitinin dormidoncheg )


Vorlesung 11. Schauspielermodell. Zukunft Reaktive Ströme (Vadim Tsesko Inkubos )



Präsentation
Video auf dem Kanal Technostream

In der Vorlesung werden moderne Ansätze zur Organisation des parallelen Rechnens erörtert, die in letzter Zeit immer beliebter werden: Akteurmodell basierend auf der Weitergabe von Nachrichten bei der Implementierung von Akka; Abstract Future / Promise, Kombinatoren und Rückrufe zur Organisation der asynchronen Datenverarbeitung während der E / A; und zeigt auch die Essenz von Reactive Streams für die Streaming-Datenverarbeitung mit Gegendruck. Es werden zahlreiche Beispiele für die Verwendung von Ansätzen in bestehenden Systemen sowie Links für unabhängige Studien bereitgestellt.

Vorlesung 12. Live-Codierung der zweiten Phase des Projekts (Vadim Tsesko Incubos )



Kursprojekt
Video auf dem Kanal Technostream

Livecoding ist die grundlegende Projektlösung, die Technopolis-Studenten voraussichtlich in diesem Jahr abschließen werden. Ähnlich wie in der ersten Lektion, mit dem einzigen grundsätzlichen Unterschied: Dieses Mal haben wir von one-nio auf einen leistungsstarken Webserver umgestellt. Auch dieses Mal haben wir ein Video mit einer detaillierteren Demonstration der Komponentenimplementierung aufgenommen.

Vorlesung 13. Überwachung und Diagnose von JVM (Andrey Pangin Apangin )



Präsentation
Video auf dem Kanal Technostream

In der Vorlesung werden Tools zum Überwachen einer Java-Anwendung und zum Analysieren häufiger Probleme vorgestellt: Deadlocks, Speicherlecks, Leistungsengpässe. Wir betrachten sowohl Standarddienstprogramme aus dem JDK als auch beliebte Software von Drittanbietern und analysieren die Funktionen von Java-Profilern. Es zeigt, wie JMX, JVM TI und andere Schnittstellen bei der Entwicklung eigener Überwachungs- und Diagnosetools helfen.

Vorlesung 14. Site Reliability Engineering (Anton Ivanov Keyplayer )



Präsentation
Video auf dem Kanal Technostream

Die Vorlesung behandelt die Grundlagen des Schreibens fehlertoleranten Codes. Es werden typische Fehler analysiert, die in der Praxis zum Ausfall hoch belasteter Systeme führen. Im ersten Teil werden die Probleme erörtert, die auf Serviceebene auftreten: Ressourcenpools, deren Überlastung, langsamer Start und ordnungsgemäßes Herunterfahren. Im zweiten Teil gehen wir zur Ebene der dienststellenübergreifenden Interaktion über und diskutieren ausführlich die Arten von Zeitüberschreitungen, Ausgleichstechniken und Probleme von Retrays. Der letzte Teil befasst sich mit der Überwachung und der Reaktion auf Vorfälle.

Vorlesung 15. „Moderne“ Datenstrukturen (Dmitry Shchitinin dormidoncheg )



Präsentation
Video auf dem Kanal Technostream

Die Vorlesung widmet sich Datenstrukturen, die in der Regel nicht in klassischen Kursen berücksichtigt werden, sondern in hoch belasteten verteilten Systemen in der Praxis effektiv angewendet werden. Oft handelt es sich dabei um probabilistische Datenstrukturen, die kompakt und schnell sind, aber ein ungefähres Ergebnis liefern. Mit HyperLogLog können Sie beispielsweise die Anzahl der verschiedenen Elemente in einem Dataset aus Milliarden von Elementen schätzen, wobei Sie nicht mehr als ein Kilobyte dafür ausgeben. Das Ergebnis unterscheidet sich nur um wenige Prozent vom genauen. Ein separater Abschnitt befasst sich mit Ansätzen zur Berechnung von Quantilen, wobei ihre Stärken und Schwächen berücksichtigt werden.

Vorlesung 16. Replikation (Dmitry Shchitinin dormidoncheg )



Präsentation
Video auf dem Kanal Technostream

Die Replikation zusammen mit dem Sharding ist das Herzstück hoch belasteter fehlertoleranter verteilter Systeme. Die Replikation mit einem einzelnen dedizierten Leader ist im klassischen RDBMS weit verbreitet. Eine Konfiguration mit mehreren angesehenen Führungskräften kann bei Systemen auftreten, die in mehreren Domänencontrollern arbeiten, und tritt auch bei gemeinsamen Bearbeitungsaufgaben auf. Die Replikation ohne dedizierten Leiter ist das Herzstück von NoSQL-Datenbanken wie Cassandra, Voldemort, Riak usw. In der Vorlesung werden die einzelnen Ansätze, ihr Umfang, ihre Stärken und Schwächen sowie wichtige Implementierungsdetails erläutert.



Die Wiedergabeliste aller Vorträge befindet sich auf dem Link sowie auf Youtube .

Das Kursprojekt liegt hier .
Unter geschlossenen Pull-Anfragen finden sich verschiedene Lösungen.

Sendungen und Videoaufnahmen anderer Kurse des Technopolis- Projekts finden Sie in der offiziellen Gruppe des Projekts in OK .

Wir erinnern Sie auch daran, dass der Technostream- Kanal aktuelle Vorlesungen und Meisterkurse zu Programmierung und Datenanalyse von IT-Spezialisten aus allen Bildungsprojekten der Mail.Ru Group - Technoatom, Technopark, Technopolis, Technosphere und Technotrek - bietet.

Source: https://habr.com/ru/post/de437858/


All Articles