Und der Teddybär scheint schwer beladen zu sein

Ende Juni nahm Nowosibirsk zum zweiten Mal HighLoad ++. Wenn im letzten Jahr die Wirkung der Neuheit eine bedeutende Rolle dabei spielte, dass alle mit allem zufrieden waren, mussten wir uns diesmal viel sorgfältiger vorbereiten, um den Eindruck zu erhalten und zu übertreffen. Zunächst haben wir mit verdreifachter Kraft die Hauptsache aufgegriffen - das Programm. Nachdem die Reden in der zweiten Runde stattgefunden und sogar selektiv überprüft wurden, wurde das Feedback der Konferenzteilnehmer gesammelt und verarbeitet. Wir können zuversichtlich sagen, dass es ein Erfolg war.

Die Basis von HighLoad ++ Siberia waren 38 exzellente Berichte voller Erfahrung und fundiertem Fachwissen. Internationale Giganten und regionale Unternehmen tauschten ihre Erfahrungen in der Arbeit mit Aufgaben aus, für deren Lösung Standardwerkzeuge einfach nicht existieren. Eine Sonderkonferenz wurde von Menschen gemacht. Wir haben ehrlich versucht zu verstehen, was los ist und wie man die gleichen aufrichtigen Ereignisse an anderen Orten macht, aber nein - für eine unbeschreiblich freundliche Atmosphäre müssten wir wieder nach Sibirien gehen, und wir waren alle dafür. Darüber hinaus denken wir bereits über neue Produkte nach.



Sie brachten den Bären mit, kein einziger Vertreter der örtlichen Fauna wurde verletzt.

Was wir jedoch nicht ändern werden, ist der Ansatz bei der Auswahl der Berichte. Es sei denn, wir beginnen früher, Themen zu behaupten, die wir bereits anwenden: HighLoad ++ in Moskau in 4 Monaten, und einige Berichte wurden bereits angekündigt . Bisher ist dies die einzige Konferenz mit hoher Auslastung in Sibirien, und die Menge an nützlichen Informationen und technischen Hardcore-Details betrug etwa ein Drittel von Moskaus großem Bruder, und wenn wir uns der Dichte der Seelen der Teilnehmer zuwenden, war sie viel höher. Einige Berichte können laut Programmkomitee sicher zu allen Berichten über hohe Belastungen im letzten Jahrzehnt hinzugefügt werden. Dies wird auch durch die Bewertungen der Zuschauer bestätigt - die durchschnittliche Punktzahl der Berichte beträgt 4,2.

Damit Sie sich ein Bild vom Programm HighLoad ++ Siberia machen können , geben wir einige kurze Abstracts. Dies ist nicht die Spitze der Abstimmungsbewertung, und Sie müssen nicht auf die Reihenfolge achten - es handelt sich nur um eine Reihe interessanter Themen, die unterschiedlich genug sind, um eine kleine repräsentative Stichprobe zu sein. Wir werden nach und nach alle Videos für das vollständige Bild auf dem Youtube-Kanal veröffentlichen (abonnieren, z. B. auf die Glocke klicken - dies sind alles Blogging-Dinge, um die Updates zu sehen).

Videoanrufe: von Millionen pro Tag bis zu 100 Teilnehmern an einer Konferenz

Alexander Tobol (Klassenkameraden)

Jetzt besteht in allen gängigen Instant Messenger die Möglichkeit, den Gesprächspartner anzurufen. Natürlich ist es praktisch, für jede Kommunikation dasselbe Tool zu verwenden. Wenn Sie über ein Unternehmenskommunikationsmittel verfügen, dort jedoch noch keine Anrufe eingehen, sollten Sie diese hinzufügen. Wo man anfangen soll, welche Protokolle und Technologien zu verwenden sind, weiß Alexander Tobol ( Alatobol ). Auch wenn Sie nicht vorhaben, in naher Zukunft einen Videoanrufdienst zu entwickeln, enthält Alexanders Bericht viele wichtige Details zu Datennetzen im Allgemeinen. Dies ist wahrscheinlich der Grund, warum sein Bericht anscheinend eine Rekordbewertung von 4,9 von 5 Hörern erhielt.



Letztes Jahr sprach Alexander ausführlich über das Gerät der P2P-Anrufe, diesmal erinnerte er sich jedoch nur an die wichtigsten Punkte und wechselte zu Funktionen wie Signalisierung und Codierung für Anrufe eins zu viele. Es ist leicht zu verstehen, dass die Bitrate für alle Teilnehmer an der Konversation gesenkt werden muss, wenn einer der Teilnehmer eine schlechte Kommunikationsqualität hat (und der größte Teil dieses Datenverkehrs über Mobilfunknetze abgewickelt wird). Um zu entscheiden, was damit zu tun ist, ist es jedoch sinnvoll, sich anzusehen, was andere in dieser Richtung erreicht haben, und - offensichtlich - das Beste zu nehmen und die Fehler zu beheben.



In Odnoklassniki ausgewählt:

  • Verwenden Sie keine Software-Codecs, sondern codieren Sie H.264.
  • Verwenden Sie den gesamten Kanal unter einem Stream, d. h. Codieren oder senden Sie Videos nicht in zwei Auflösungen.
  • Verwenden Sie Endmischung für hohe Qualität und einen zentralen Schaltkreis für niedrige Qualität.
  • Bei bis zu 3-4 Teilnehmern ist Mesh die bevorzugte Option.

Im letzten Vergleich ist diese Lösung in Bezug auf Latenz, Batterieverbrauch und Qualität mit Zoom vergleichbar, aber Zoom ist nicht mit WebRTC kompatibel (und wir alle lesen die Nachrichten darüber). Wenn Sie sich entscheiden, den Vorgang zu wiederholen und auch Wettbewerber zu vergleichen, vergessen Sie nicht OK. Oder nutzen Sie sofort Alexanders Rat, sein Bericht war wieder einmal voller wichtiger technischer Details, was eine ziemliche DIY-Anweisung zu sein scheint.

So erstellen Sie ein hoch geladenes Ereignisbenachrichtigungssystem

Artyom Gashkin (CFT)

Das CFT-Unternehmen ist ein hervorragender Vertreter der regionalen IT-Besonderheiten - ein großes Fintech-Unternehmen. Dieser Bericht befasste sich mit der Arbeit des CardStandard-Verarbeitungszentrums, das - denken Sie nur darüber nach - Zahlungen für jede dritte Karte im Land verarbeitet.



Sobald Sie für etwas bezahlen, informiert Sie diese Verarbeitung per SMS oder Push. Die Bank, die Ihre Karte ausgestellt hat - der Aussteller möchte eine solche Benachrichtigung auch online erhalten. Dies ist das Ziel des Projekts, über das Artyom Gashkin sprach: ein Modul zum Senden von Benachrichtigungen zu implementieren, das mit einer doppelten Last fertig wird. Leider hatte Artyom nicht das Recht, die genauen Daten zu benennen. Er sagte nur, dass die Belastung einzelner Module 200 Transaktionen pro Sekunde erreicht. Gleichzeitig wurde daran gearbeitet, die Last durch Ändern der Systemeinstellungen zu reduzieren. Die Entwickler wollten einen solchen Spielraum für die Leistung schaffen, um nicht so lange wie möglich auf dieses Problem zurückzukommen. Die Anforderungen an die Lösung sind ziemlich Standard, aber am wichtigsten ist, dass sich die Bearbeitungszeit für die Autorisierung nicht erhöht.

Traditionell wird Oracle für das Unternehmen verwendet, das sich nach Möglichkeit nur sehr schwer horizontal skalieren lässt. Um die Belastung der Datenbank nicht zu erhöhen, d.h. Behalten Sie die Mindestanzahl von Datenbankverbindungen bei, Apache Kafka wurde ausgewählt.

Die Ingenieure näherten sich der Wahl der Implementierungsoption, wie es für die Ingenieure sein sollte - wir haben die Zeit gemessen, um 400.000 Datensätze von einem Thema zum anderen zu verschieben. Diese Daten können als die Zeit interpretiert werden, in der die Verarbeitung nach einem Fehler ihre Arbeitskapazität wiederherstellt. Wir hielten bei einem Produzenten an, der asynchron auf die Lieferung wartete, und glaubten, dass 20 bis 30 Sekunden eine akzeptable Wiederherstellungszeit sind. Artyom sprach auch über eine bestimmte Implementierung - einerseits ist alles an der Oberfläche, weil Kafka garantiert, dass zwei Datensätze, die nacheinander an die Partition des Themas gesendet werden, in derselben Reihenfolge geliefert werden. Auf der anderen Seite mussten die Entwickler tief in die Funktionen der Arbeit und Dokumentation eintauchen. Derzeit werden Benachrichtigungen über die Transaktion innerhalb von ca. 0,5 Sekunden an die Bank gesendet.

Das Skalieren des resultierenden Systems ist einfach - wenn die Last zunimmt, müssen Sie die Anzahl der spezifischen Handler erhöhen. Die Routing- und Benachrichtigungsmodule funktionieren ohne Änderungen, und das Modul, das Benachrichtigungen generiert, ist für die Geschäftslogik verantwortlich. Wenn Sie beispielsweise auch einmalige Kennwörter schnell senden müssen, reicht es aus, neue Handler zu implementieren. Diese Verfeinerung wirkt sich nicht auf das vorhandene System aus, und alle Regressionstests werden problemlos bestanden.

Da die CFT erwähnt wurde, werden wir Ihnen erzählen, wie ihre Partnerschaft die Konferenz schmückte. Sie organisierten einen ganzen Loungebereich, in dem zwei Tage lang Wettbewerbe und Spiele stattfanden. Der Höhepunkt des Programms war jedoch StudioCFT - ein Studio vor Ort für die Aufnahme von Podcasts mit Sprechern und einem Konferenzguru. Unter den Gästen: Vladislav Blinov und Valeria Baranova von der Tinkoff Bank, Sergey Sporyshev von ITSumma, Victor Eremchenko von Miro, Sergey Polovko von Yandex sowie Oleg Bunin und Alexey Obrovets (ein Gespräch darüber, welche Männer 2019 sprechen). Interviews auf dem Youtube-Kanal des Unternehmens.



BESTER GEODIST () Westlich des Rio Grande

Andrey Aksenov (Avito, Sphinx)

"Verwenden Sie lineare Interpolation, Jungs."

Andrei begann im üblichen ironischen Stil, heißt es, wenn das verständlich ist, kann man auseinander gehen. Verstanden, es ist verständlich, aber wenn Sie auch die Erfahrung des Sphinx-Entwicklers hinzufügen, bei dem die Suche in Avito funktioniert, ist alles besser. Andrey wählte die Funktion GEODIST (), die insbesondere zum Sortieren, Filtern, Suchen auf der Karte usw. als Thema für HighLoad ++ Siberia verwendet wird.



Aufgabe: Finden Sie den Abstand zwischen zwei Punkten, der durch zwei Koordinaten gegeben ist. Es scheint die siebte Klasse, das zweite Quartal. Wenn die Entfernung jedoch nicht innerhalb der Grenzen des Notizbuchs berechnet wird, sondern mindestens auf der Skala einer Region der Russischen Föderation, muss die Entfernung auf der "Kugel" berücksichtigt werden. Oder besser gesagt, ein Ellipsoid. Und genau ein Geoid. Schließlich werden wir nicht nacherzählen, wie man sich nicht auf das Geoid einlässt, welche Annäherungen und alten Optimierungstechniken in einer großen Produktion funktionieren - siehe den Bericht.


Modellierungserfahrung vom ComputerVision Mail.ru-Team

Eduard Tyantov Mail.ru Group

Das Computer Vision-Team löst Probleme für Cloud-, Mail- und Vision-spezialisierte B2B-Produktprojekte. Diese Erkennung von Gesichtern und Attraktionen für Fotos, Text von Fotos für die Post usw. Eduard Tyantov ( EdT ) begann den wesentlichen Teil seines Berichts mit einer Aussage, die für jedes Gebiet geeignet, aber für die KI besonders relevant ist:

"Die Erklärung des Problems ist eine kritische Phase."

Zu diesem Zeitpunkt ist eine kontinuierliche Zusammenarbeit zwischen dem Produktmanager und dem Spezialisten für maschinelles Lernen erforderlich. Wenn Sie versuchen, Geld dafür zu sparen, werden Sie entweder etwas wirklich Wichtiges verpassen oder mehrere Monate damit verbringen, zu lernen, wie man gemalte Gesichter erkennt, und das Produktionsmodell wird niemals einem solchen Beispiel entsprechen. Übrigens wird Edward im September über UseData Conf über andere Funktionen des Projektmanagements sprechen, die auf maschinellen Lerntechnologien basieren .



Und erst wenn die Aussage allen Projektteilnehmern klar ist, können wir mit der Arbeit an einer Aufgabe beginnen, die mit der Aufbereitung von Daten beginnt. Offensichtlich müssen sie gereinigt werden, sowohl von schlechtem Markup und Müll innerhalb der Klassen als auch von übermäßiger oder unzureichender Aufteilung in Klassen. Und manchmal müssen Daten generiert werden, und wenn es für die Zeichenerkennungsaufgabe ausreicht, PIL zu verwenden und den Text zu verzerren, müssen Sie in anderen Fällen viel erfinderischer sein.

Eduard wandte sich direkt dem Training im Bereich des metrischen Lernens zu und stützte sich auf die langjährige Erfahrung von Mail.ru. Er empfahl Angular Softmax eindeutig sowohl für die Mustererkennung als auch für die Klassifizierung im Prinzip und sprach über Tricks, die es effektiver machen.



Und die Einbeziehung von relativ einfachem Destillieren und Zerlegen von Wissen fast umsonst gibt AP + 0,5–1%. Die Byte-Pair-Codierung hat sich hervorragend für Texte bewährt, und das Training im FP16 mit Apex von Nvidia spart 20% (zwanzig!) Zeit für praktisch Werbegeschenke.

Wie man Modelle in die Produktion bringt, ist ein separates großes Gespräch, da Datenwissenschaftler PyTorch verwenden und niemand es überhaupt bereitstellen möchte. Eine gute Option, wie man damit umgeht, ist kürzlich erschienen. PyTorch-Entwickler erkannten den Schmerz ihrer Benutzer und veröffentlichten TorchScript, das das Python-Modell in ein statisches Diagramm serialisiert. Bei dieser Konvertierung funktioniert alles genauso wie in Python, und die erste Welle von Fehlern wurde bereits abgefangen - Sie können sie verwenden.

Amazon Scaling

Vasily Pantyukhin (Amazon Web Services)

Dieser Bericht ist ein typisches Beispiel dafür, wie wir internationale Erfahrungen von internationalen Unternehmen sammeln. Das ist richtig - wir nennen die russischsprachigen Kinder, die in unserer Ingenieurkultur und auf unseren Konferenzen aufgewachsen sind. Ausländische Sprecher sind gut für Werbung, aber tatsächlich bewerten die Teilnehmer ihre Berichte normalerweise nicht zu hoch. Unsere im Allgemeinen in Russland üblichen Fachkonferenzen zielen auf den Austausch von Berufserfahrung ab. Und im Ausland sind Berichte über Unternehmensnachrichten beliebt, die keine spezielle technische Konferenz in unser Programm aufnehmen wird. Warum das so ist, ist ein separates Thema, aber wir sind ceteris paribus und versuchen, russischsprachige Sprecher auszuwählen. Dies ist unter dem Gesichtspunkt des Fehlens einer Sprachbarriere und des Unterschieds in der Mentalität gut für das Verständnis des Materials.

Bei der Rückkehr zu AWS werden Millionen von Benutzern gleichzeitig von ihren Diensten bedient, um die gewünschten Ergebnisse zu erzielen. Das System skaliert automatisch und passt sich stabil an jeden Benutzer an, sodass er den Eindruck hat, dass er allein in diesem Universum ist. So dachte Vasily Pantyukhin, bis er Architekt bei Amazon wurde. Jetzt weiß er natürlich, was sich unter der Haube der AWS-Cloud-Services verbirgt, und teilte den Konferenzgästen einige interessante Aspekte mit. Welche physischen Server stehen hinter dem kurzlebigen Konzept der Cloud, welche Optimierungen werden für sie verwendet, wie ist der skalierbarste AWS Lambda-Service angeordnet, wie erstellt Amazon seine eigenen Datenbanken und wie ist das Netzwerk angeordnet?

Vor allem beeindruckt Vasilys Rede durch die Inspiration, mit der er über Lösungen spricht, und die erwähnte Tatsache, dass er, nachdem er in das interne Gerät eingetaucht war, den Dienstleistungen des Unternehmens nur mehr vertraute. Dieser Bericht ist sowohl als Überprüfung für diejenigen nützlich, die gerade erst mit AWS beginnen, als auch für diejenigen, die technische Details benötigen - das heißt für alle.


Vasily hielt auch ein Treffen zum Thema „Gehirnfreundliches Charting“ ab, das nach der Diskussion im Chat sehr nützlich war. Aber es wird nicht in der Aufzeichnung sein, dies ist ein spezielles Format. Daher ein Lebenshack für die Zukunft: Wenn Sie auf unserer Konferenz zwischen einem Bericht und einem Mitap wählen, dann bevorzugen Sie einen Mitap und schauen Sie sich dann den Bericht in der Aufzeichnung an. Glücklicherweise nehmen wir alle das Video auf und geben es in wenigen Tagen.

NodeJS Backend

Yuri Gavshin (Bolzen)

Bolt - schnell aus dem Englischen - eine Plattform für die Bereitstellung von Transportdiensten: Taxi, privater Transport, Motorräder und Verleih von Elektrorollern. In den letzten drei Jahren ist das Unternehmen in jeder Hinsicht um mehr als das Zehnfache gewachsen. Die Hauptanforderungen für das Backend sind daher: schnelle Ausgabe an die Produktion, Fehlertoleranz und Ausfallsicherheit (ein ausgefallener Service beeinträchtigt nicht die Leistung benachbarter Services), Skalierbarkeit.

Die Basis des Stapels ist NodeJS. Seine Besonderheit ist die nicht blockierende Ein- / Ausgabe und der asynchrone Betrieb mit dem Netzwerk. Es gibt noch keine klare Meinung, ob dies eine gute Idee ist und wie komplexe Dienste auf NodeJS in der Community ausgeführt werden können. Es scheint, dass es nicht viele Gründe gibt, Node anstelle einer ausgereiften Serversprache zu wählen, aber eine kurze Markteinführungszeit ist nur einer davon. Daher ist die Produktionserfahrung bei der Entwicklung eines hoch geladenen Backends sehr interessant. Darüber hinaus erklärte Yuri ausführlich und anhand von Beispielen, wie man die Vorteile effektiv nutzt und die Nachteile von NodeJS ausgleicht. Er empfahl beispielsweise, TypeScript zu verwenden und auf async / await umzuschalten. Er achtete auf Merkmale wie die Unannehmlichkeiten beim Bau von Monolithen. NodeJS zwingt Entwickler, die Größe der Services zu begrenzen, und dies ist laut Bolt-Team ein Plus. Er ging auf die Themen Testen und Überwachen ein.



Alles, was hinter den Kulissen des Berichts zurückblieb, und vieles mehr, konnten die Entwickler des Dienstes am Stand des Unternehmens herausfinden. Neben dem technologischen Stack diskutierten sie auch den Umzug nach Estland - dies ist jedoch bereits im Rahmen des Treffens, unter dem es traditionell einen Ort und eine Zeit gab. Spontane kleine Meetings und lebhafte Diskussionen sind der Grund, warum Konferenzen erforderlich sind. Wo sonst können Sie Zabbix Live-Coding-Tricks ansehen oder die Schmerzen der Dokumentation teilen.



Im Allgemeinen wurden wir diesmal von mehr Unternehmen unterstützt. Wir glauben, wir haben den Test letztes Jahr bestanden und den Einheimischen bewiesen, dass wir für sie arbeiten.

Wo er geboren wurde, hat er sich als nützlich erwiesen


So scheint es uns. Und dies ist die Hauptidee, die wir verfolgen, wenn wir unsere Konferenzen außerhalb von Moskau abhalten. Damit coole Entwickler nicht gezwungen sind, in die Haupt- oder Auslandsbüros großer Unternehmen zu strömen, weil nur für sie herausfordernde Aufgaben erforderlich sind, ist es notwendig, professionelle regionale Gemeinschaften aufzubauen. Zum Beispiel haben wir speziell Gemeindeaktivisten aus Nowosibirsk und Krasnojarsk sowie gleichzeitig aus St. Petersburg und Krasnodar eingeladen, damit sie ihre Erfahrungen teilen und ihre Region erfolgreich pumpen können.

Es ist wahr, dass es erwähnenswert ist, dass wir immer noch empfehlen, nach Moskau zu reisen. Der Inhalt unserer Konferenzen wird nicht wiederholt. Wenn Sie also wissen möchten, was in der Welt der hohen Lasten passiert, werden wir uns im November in Skolkovo treffen.

Vernetzung usw.


Sie begannen am Tag zuvor bei einem Rednergespräch eine freundliche Atmosphäre zu essen. Dies ist jetzt unsere Tradition - nach dem Laufen auf der Baustelle, aber vor der Konferenz, vereinbaren Sie Versammlungen. Damit sich die Redner und das Programmkomitee kennenlernen konnten, stellten sie fest, dass die Menschen in der Umgebung gleich waren, machten sich keine Sorgen mehr um die Aufführung und kamen am Montag gut gelaunt, um ihre einzigartigen Erfahrungen zu teilen.



Und dann hatten wir schon während der Konferenz Raum für Kommunikation und sogar Unterhaltung. Nicht alle, mitten im Hardcore, manchmal muss man wechseln. Die Stände dafür sind die meisten.

Sberbank hatte Zielschießen als Spiele im Freien sowie Videospiele, die den IT-Mitarbeitern besser bekannt waren.



Der Sportmeister konnte nicht wegbleiben - sie installierten Tischhockey, das eine Minute lang nicht leer war. Und während Sie auf das Ende der Party warteten und an die Reihe kamen, konnten Sie die Entwickler nach den Produkten von Sportmaster fragen, die natürlich nicht auf den Online-Shop beschränkt sind.



Nach einer ununterbrochenen Kaffeepause, die sich hervorragend für die Kommunikation mit Kollegen und die Bekanntschaft eignet, streckten sich die Teilnehmer aus und verstärkten sie. Die führenden Hallen beriefen sich auf Berichte.



Diejenigen, die nicht erlagen, gingen zu Mitaps.



Wenn das Gehirn danach bereits in den Turbomodus gewechselt ist, werden alle Aufgaben auf einem Blatt Papier und Puzzles zu nichts und werden auf zwei Arten gelöst.



Und am Abend eine wohlverdiente Pause. Richtig, wieder mit einer starken intellektuellen Komponente, haben wir ein Quiz „Quiz, Pliz“ für die Gäste vorbereitet.



Kurz gesagt, hatte eine gute Zeit. Mit freundlichen Grüßen



Was weiter


, , , HighLoad++ Siberia 2020 .

, , . , , . , .

, , . DevOps , TeamLead Conf , KnowledgeConf — — , , .

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


All Articles