Merken

Fehlertolerante und skalierbare Systeme mit dem Netflix OSS

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
ja herzlich willkommen zum 2. Nachmittagstalk ein Gletschertour der tolerante und skalierbare Systeme mit dem Netflix oder erst Dr. Michael Menzel Michelles Architekt bei der Senator Technologie hat die am Bonner worden sind die in der Nähe von der Strandbar geführt hat und ja es nicht Architekt sondern wirklich auch nur bis 100 Socorro was ist das für mich einfach immer einen besonders nett irgendwie das sind für mich so die richtigen Hacker die halt wirklich von oben bis unten alles machen verteilte Dienst es Systeme und wird Systeme also Markus so dass es eher wird über Entwurfsmuster skalierbar fehlertolerant umgebenes unabhängig alles was man den erzählen und haben nie die war das mit dem Netz Flicks Open Source der auch realisieren kann man eine große Bandbreite vielen Dank mich eine gut damals herzlichen Dank und
das kommt zum einen Vortrag vielleicht und können was denn in der versorgen vor konkret geht es um die Frage wie können wir da moderne Architektur und Markus Service Architekturen mit den haben vor der und auf Basis von zu bringen
gute und Spring Cloud aber das ist die Einführung der ich auch froh wenn ich danach gut bin und dann halt auch mit und kann im Wesentlichen das Arcor Spezialist für große IT Transformationsprojekte in dessen Rahmen wir dann natürlich auch Umsetzungsprojekte haben Fokus liegt natürlich auf großer IT-Landschaften das heißt wir haben es meistens mit großen gewachsenen IT-Landschaften Architekturen Buhnen an die dann von dem der Komplexität aufweisen und dies dann zu modernisieren nun haben natürlich die meisten oder eigentlich fast alle unserer Kunden heutzutage ein Problem und das heißt natürlich Digitalisierung das Digitalisierung an sich natürlich nichts neuesten darüber spricht der er aber im Wesentlichen machen wir das Ganze ja schon seit 30 Jahren wusste um die darum geht da sich hier Prozesse die dann wir gestützt werden den digitalisieren wenn der Fokus früher ab aber er dann auf den wegen Prozessen lag weg auf Prozessen geht es heute viel mehr um die Schnittstelle zum Kunden ich jetzt mal Schauer auf aktuell rund Situation beispielsweise Banking Bereich wo das Filialgeschäft irgendwo wegbricht und immer mehr Druck auf durch irgendwelche Fintechs durch auf der anderen Seite etablierte Konzerne wie Google oder Apple mit Apple Pay läge dann schon 1 Infrastruktur haben die sie nutzen können und darüber dann Zahlungsdienstleistungen anzubieten dann wird natürlich irgendwo die Schnittstelle zum Kochen Kunden der Vertrieb werden übers Internet und das Onlinebanking natürlich immer wichtiger gleichwohl ändert sich aber natürlich die Erwartung des Kunden heißt zum einen erwarten dich der Kunde darüber
es war am Beispiel des Onlinebanking es bleiben wollen dass auch ein modernes Onlinebanking gibt wo auch gewisse marktrelevant sollen Innovationen aufgegriffen werden also kein altes von allen voran die 2005 ich möcht natürlich Dienstleistungen rund um die Uhr nutzen Bank Öffnungszeiten an eine möchte meine Überweisungen eigentlich immer machen können ohne Wartungsfenster für die Software am Wochenende bitte nicht und trotzdem ist hier ein gutes Beispiel obwohl sie gut in diesem Jahr waren auch die man offline nichtsdestoweniger sind die halt recht gut mit den Daten und dem Nutzer Wachstum eskaliert exzellente User-Experience bezieht sich jetzt nicht nur auf das Design sondern sich auch Anwendungen bauen die hochperformante die Ergebnisse schnell zurück die fragen die vielleicht schon mal Teilergebnisse anzeigen also Daten also synchron bereitstellen können und ich möchte natürlich wissen Dienste und Services dann plattformübergreifend nutzen wollen und damit habe ich natürlich irgendwo Geräte Klassen mit ganz unterschiedlichen Anforderungen wo ich vielleicht für den Destop Applikationen an ganz andere Daten bereitstelle als vielleicht für mobile die was die ganzen Punkte ist für sich genommen das ist hier nicht der Punkt wo es wirklich der typische IT-Manager aber Kunden sagt Herr wir brauchen jetzt irgendwo Innovationen fallen allzu schöne Plätze werden müssen stark abfällig werden das ist immer mein Liebling bei Dax 30 Konzerne Start-up Fähigkeit was dann meistens eigentlich bedeutet wir man irgendeine Abteilung welchen Effekt und laden die Presse ein braunen und dem Raum festlichen hier auf die natürlich abgebaut werden wenn der Termin wieder vorbei ist aber wie auch immer ich will ja wirklich was verändern und das umfasst ist natürlich verschiedene Aspekte zum einen natürlich ich möchte
Software haben die Ende aber ist damit
ich Dinge schnell irgendwo im Markt abrufen ich möchte die weg von irgendwelchen alten Wasserfall Prozessen wohl erst mal ein halbes Jahr lang spezifiziert wir dann irgendwo überlegen wie kann ich umsetzen und ein Jahr bis anderthalb Jahren Feststellung Oberrichter gebaut hat es irgendwie nicht ganz das was ich für den Kunden 2 Elastizität und Skalierbarkeit denn diese Last hab ich den auf dem System heute morgen im alten Jahr zu Weihnachten weil es vielleicht noch nicht ich möchte gerne mit dem Ostwall brodelt starten und möchte dann mit dem Nutzer und dem Datenwachstum skalieren heißt auch wenig Funktionalität feingranulare skalieren möchte dann komme ich am Ende des Tages zu einem Buch verteilten Systemen und der natürlich kann ich nicht davon ausgehen dass immer alle meine Service ist da sind dass das Netzwerk funktioniert das alles fehlerfrei funktioniert nein Nachrichten verlorengehen dann Nachrichten können vielleicht falsch am kommenden vielleicht ist der Service einfach überlastet und kann nicht mehr reagieren damit muss ich halt umgehen können und zu guter Letzt werden wir von und Interaktivität aber das dann schnell reagieren soll dann brauch ich natürlich möchte natürlich weg von den blockierenden System aufrufen hin zu komplett asynchronen Daten vor ok wenn bei ich das Ganze das Zauberwort sind natürlich dann immer irgendwo an Markus IT-Services vorweihnachtlich die generelle des ich jetzt mal gucken wo man
so er kommen von Sonne Ebenen Ansatz wurde Mittelwelle hab ich auf in Form von kann ich hab irgendwo hinten dran der Datenbank nach in den Kontext dann Projekte dann habe ich natürlich die Herausforderung das mein Ebenen Schmerz den ich hier mit den werden wir aber mit meinen werde das Service ist nicht unbedingt den Anforderungen wirklich gerecht werden kann wie ich jetzt aus dem Projekt habe war natürlich versucht jede Ebene die von den Kollegen genauso um wie im Mittel der oder auf die Datenbank Kollegen sagen wir mal sich selbst zu optimieren und Arbeit irgendwie zu den nächsten Schichten dann wegzuschieben ich hab natürlich dann Mittel wer die dann vielleicht von den übergreifend Services anbietet mit hohen Grad an Wiederverwendung bietet auf Basis von vielleicht Orgel fällt Toni ab laut schlägt er afrikanischen zur war was ja generell eine gute Idee ist mit der Wiederverwendung aber doch letztlich dazu führt dass ich meine komplette Systemlandschaft es Jungs testen muss weil wenn ich Pech habe mein Wiederverwendung Sanders bauten ein Geschäftsobjekte Fehler eines für einen Anwendungsfall und einer ganz anderen Stelle nein das heißt ich möchte hier fertig Komponenten fachliche Komponenten an ich technisch und fachlich entkoppeln natürlich ihren mit der Idee dass ich natürlich dann diese Komponenten unabhängig voneinander und auch schneller lesen kann wenn ich dann in der Lage bin diesen Schnitt bis zum Frontends hochzuziehen dann gehen wir in die Richtung selbst Contents das ist klingt das alles ganz toll und ganz einfach nicht erkannte die schnellere aus und schneidet sie meinen Monolithen irgendwo entscheiden und das dann genau der Moment wo dann der Chef oder Kunde zurecht kommt und
sagt ok alles klar jetzt legt mal los am Bau noch mal den 1. Mai es und so funktioniert das halt nicht denn letztlich ist ja Sohn Markus Service nicht einfach nur und Maike Service Architektur nicht einfach nur unseren er in Scheiben geschnitten ist da muss ich schon noch ein paar andere Dinge beachten und überlege klar wenn ich jetzt wirklich eine perfekte Anwendungen hat die super sauber designt ist mit sauberen Komponenten die anhand von fachlichen Grenzen geschnitten sind ja dann kann es sein dass ich dann relativ einfach meinen bieten zerlegen kann meistens ist das aber nicht und bevor wir über Architektur reden dann wurde in weiß ich muss mir dann schon bei den Mehr überlegen angefangen natürlich bei der Organisation der wir gehen welche auf die Technik allein deswegen jetzt die ganzen Aspekte die sind möglicherweise nur Markus was Vortrag kommen nur Abriss des wesentliche Stichwort ist ja immer Cornwells Lord dass die Architektur den Kommunikationsstrukturen folgt wenn man üblicherweise verbunden sind können wir dann von der Software aus von im Schnitt der Software schon Rückschlüsse ziehen auf die Kommunikationsstrukturen Unternehmen oder anders ausgedrückt wenn ich euch die Aufgabe stellen würden dementiert mal einen Compiler und wir bilden jetzt 3 Teams dann kommen wir höchstwahrscheinlich seinen 3 Komponenten Compiler wenn wir sagen wir machen ziert dann wahrscheinlich in 4 Komponenten Compiler heißt also wenn wir natürlich was an unserer Software ändern wollen müssen wir natürlich in die Kommunikationsstrukturen anpassen sprich vertikalen Schritt schnitzt vertikale Feature Lebens wo wir dann Business-Analyse Entwicklungen Test Datenbanken von allen das Mittel der alle irgendwo und ein Team haben damit wir in die Richtung gehen können und auch die Architektur verändern Prozesse man möchte natürlich hin zu mehr Agilität in kurzen Sprints und nicht so wie es dann meistens gemacht wird wir machen mal ein bisschen was an ihre und denken dann ist wertlos graben dann oder war das Entwicklungsteam ist jetzt agil aber der Prozess in der Organisation ist immer noch Wasserfall an nein das funktioniert natürlich auch nicht unwichtig ist auch klingt ist relativ simpel jener großen Organisation aber recht schwierig überhaupt ein Produkt und eine Person die in der Lage ist natürlich Anforderungen zu priorisieren sind simpel ist meistens schwierigste und zu guter Letzt wenn wir mehrere fliegende Komponenten aber am Ende hat ist dann müssen wir auch über Automatisierung nachdenken aber des Ortes ist ja nicht nur Automatisierung nur weil wir den jetzt irgendwo schneller aufbauen und in Produktion schieben können wir das heutzutage nicht machen schlichtweg weil das Vertrauen natürlich in die Software nicht da ist mein sind von den ganzen Weges Jungs des ist ja immer dieses Vertrauen herzustellen sprich wir brauchen halt irgendwo die Tester als Teil der Featured gehen bis sie dann auch wirklich automatisierte Tests waren erst wenn ich Grundlagen Testabdeckung habe kann ich natürlich dann wirklich in der dann schnell in Richtung Produktion bringen aber kommen wir mal zu dem Thema Architektur 1. Frage an der Stelle ist natürlich in eine S-Bahn wir man
Anwendungen aufbringen But Verhängniß eines bringen beruht und Spring Cloud zusammen da der Unterschied und wie ist der Zusammenhang das 104 glauben zuständig zunächst mal wer von euch hat schon bringen entwickelt mitzubringen und und wer meint wenn dort wirklich verstanden zu haben ich meine Auto Autokonfiguration und wenig S ja wird also ich kann jetzt Tribut relativ einfach mit wenigen Zeilen Code Anwendung in stellen dann wenn wir gleich noch sehen ist wirklich super und auch recht einfach weil das Rennen wird sich schon relativ viel vorgibt eine gewisse Meinung hat die Dinge zu bauen zu konfigurieren es ist ja wirklich toll schwierig wird es natürlich nur in dem Moment wo wo die eigenen Organisation oder der Kunden andere Meinung
hat die Dinge eigentlich implementiert gebaut sein sollten und ich dann anfange da Dinge zu Gast in Eisen oder ich habe die innerhalb von einer Woche irgendwas implementieren und dann reinquetschen was eigentlich bringen schon von Hause aus keine wie auch immer also was ist jetzt bringen gut alles Denken und ich würd mal als sind Fremdwörter für ägäischen für bezeichnen also des Bildes bringen verändert Integration es bietet mehr könnten sie Proms an womit ich relativ einfach durch sogenanntes stark ab und dann die ganze Spring Abhängigkeiten und es werden wenn man Plug-ins an so dass ich meine das und Anwendung Regeln Landwirtschaft bauen kann und das Ganze dann einfach ausführen der einsame Abhängigkeiten und nicht mehr viel wie früher zur Welt und die Zeiten ich habe und was soll ich dann in ein Bekenntnis aber die neuen muss mit allen Abhängigkeiten und warum soll das heißt mit dem gut kann ich relativ einfach ein Service wenn ich jetzt natürlich 100 Service muss ich mich natürlich um Dinge kümmern die Routine laut bellend sehen nicht vom Service wird dreh ich muss mich und das ist das Kabel ,komma ich muss mich um verteilte Konfigurationen kümmern und so weiter dafür bieten Spring Cloud implementiert jetzt etwa an und integrierte Tools wie zum Beispiel Tools aus dem frechen wird aus dem Netflix auch so und diese Tools und die Integration über Spring Cloud wären wir dann jetzt mal im Detail betrachten aber zuerst noch mal zurück
zu wegen nun schon einfach mal einen Eindruck zu bekommen und einfach Anwendung in zu stellen das geht relativ einfach ich brauche nur kommen falls die dann ist in gut das Abkommen integrieren dann kann ich dir eine relativ einfache Anwendungen hier hinstellen also die ist jetzt einfach mal von der einen Seite kopiert die einfach einen Rest Endpunkt .punkt anbietet und gegebenenfalls kann ich über portionsweise durch welche chemischen gerne noch den Kasten mal Applications nahm spezifizieren die wenigen Zeilen Code reichen aber schon aus um dann über zu bringen und man Feldscher bauen zu lassen da sich dann ausführen kann oder und dann hab ich ein das ein Punkt der mir erlaubt nur zurück das 1. vom Prinzip schon interessant ist über die Abhängigkeit von Spring von die ich kommst wird anerkannt aber ich brauche hier halten die Kirchensteuer aber und das wird dann automatisch wird beim Start ab dazu bringen gut dann nennen werde komplett mit Staaten um dann diesen Resten .punkt 1 gucken wir mal wie wir jetzt wir
unseren unsere Eigenschaften umsetzen weil angefangen bei Veränderbarkeit das kann ich einen Bahnen sagen wir mal kannst so es denn möchte ich natürlich dann veröffentlichen unter einer
gewissen URL sagen was Service und Fleischbänke kaum es intern habe ich natürlich mehrere Instanzen von so habe ich die natürlich intern unter einer gewissen IP und ein Wort zur Verfügung stehen muss ich mich natürlich und das Routing und um das laut Wellensiek kümmern dafür gefertigt und praktischerweise schon ein halbwegs Komponenten Netflix sowohl die diese geht dieser Torwächter aufgehäuft was das dann sowohl benannt und Suhl ist im Wesentlichen wirst ob sie laut zwar welcher dann das Outing übernehmen und Anfragen gegen und UL und dann auf den sprechen Services verteilt das muss ich aber sowohl nicht selber irgendwo einfach installieren und konfigurieren sondern ich mache das über die es springen Integration aber vor mir dazu kommen noch eine Sache nämlich wenn wird hierbei Änderbarkeit reden Änderbarkeit heißt ja auch ich kann wenn ich diesen erkannte es hat in der Version 1 0 relativ einfachen bekannt Mehr sie und 2 neue danebenstellen mit inkompatiblen Schnittstellen Änderungen ohne dass ich bei bestehenden kleines irgendwas kaputt macht heißt aber auch das will meine der und oder meine klar ist wären die sagen müssen ich möchte es aber mit dem Service in der Version 1 0 oder 2 einreden es wenig hier oben bei der URL dann halt noch die Informationen nicht geben würde mit dranhängen würde mit welcher Version von dem Service es gerne sprechen möchte und dementsprechend macht sowohl dann das Routing über eine L wie stell ich es schon sowohl der in einer ganz einfach werden im Wesentlichen auch als Tribut Applikation ich muss einfach in den melden kommt nur die Abhängigkeit zur Spring Cloud 1. hatte Suhl einfügen und muss in meiner bringt Applikationen einfach nur eine Annotation reinpacken ne mürsud ob und dann kann ich in der Konfiguration im einfachsten Fall starte Steuben konfigurieren und wir haben am Ende des Tages dann ein Vetschera eine Applikation die ich dann genauso wie meine anderen Services ist die kann die Konfiguration würde dann den Pfad der denken kann ist in der Version 2. 0 abbilden auf dann die entsprechenden Service welche dieses Interface implementiert damit wir dich jetzt recht einfach erstmal ein staatliches Mehr das habe ich hier einen Endpunkt angegeben in diesem Werk ist möchte ich ja auch eher nur der machen sowohl integriert für 2 andere Netflix Bibliotheken anderen was ein kleines halten laut bellend 2. zum anderen bis Tracks das werden wir gleich auch noch im Detail sehen das Fehlertoleranz weiß aber das aufrufen sicherzustellen und wenn man die Konfiguration so dass wir den Pfad auf eine Service ID abbilden so dass Fall denke Brahms und Wiese Service die wir dann eine Liste von Servern an die erreichbar sind und Suhl wird dann automatisch das laut denen jetzt habe ich halt meine meine Glas die kann ich in den verschiedenen Umgebungen daran die wollen Änderbarkeit heißt aber auch dass wir am Ende des Tages eine gewisse Automatisierung unterstützen in Richtung der Forts Dinge natürlich da ein bisschen schneller in Produktion bringen können und wie hat man früher eigentlich für Sonne ägäischen verweisen oder Unfall gebaut da jagt man hat die Konfiguration mit ausgeliefert indem man das tiefer Paket mit dem gewissen Profil gebaut hat das möchte ich aber natürlich nicht ich möchte einmal einen Markus ist ja bauen und das dann durch die verschiedenen Umgebungen schieben und dort dann fest nicht jedes Mal wieder neu bauen als ich hab aber in unterschiedlicher Umgebung vielleicht unterschiedliche Backend-System unterschiedliche 11 von Konfigurationen das heißt es muss ja irgendwo an die Konfiguration dann ankommen wenn ich die schon nicht vorab mit mitliefern möchte das heißt ich brauch wir möglich falls externe Konfiguration und da bietet mir das bringen gut laut eine schöne Möglichkeit nämlich nichts bringt laut und zu welchen
Server das heißt wenn für gestartet werde als 1. mal bei den Spring Cloud Kontext aber Anfragen und sagen ja ich bin der Service Bank kam es in der Version 2. 0 bitte gib mir mal meine Konfiguration und diese dann halt so intern zur Verfügung stellen Konzept für war es natürlich auch wiederum eine und Applikationen wo ich auch einfach nur eine Station anpacken muss und bedient sich aus verschiedenen Zoos ist entweder aus brauche die Files Sojamehl falls die lokal liegen oder alternativ was auch die bessere Variante ist über die kompositorische weil da kann ich die Konfiguration Version der ablegen und ich kann es bei Ihnen dann auch an die entsprechenden Konfigurationsdaten Annotationen Brandsätzen hält wie verstaubt was bringen dann sagt dass diese Probe die dann dynamisch zu aktualisieren ist wenn ich dann auf dem Service der Endpunkt des Flash Refresh Aufrufe holte sich die Werte von im Kontext aber noch mal neue alternativ kann ich auch den Kontext der über Nachrichten Bus anwenden damit ich Konfigurationsänderungen zum Service pushen kann er konnte das hören wir gerade schon erwähnt ist eigentlich auch nur eine eigenständige bin gut Applikationen wo ich dann auch mein Engel Kontext aber anpacken muss plus in die Konfiguration dann den geht Endpunkt von Git-Repository konfigurieren muss und den Konflikt der Konfiguration ist klein also dem eigentlichen Service ist so relativ einfach in der Konfiguration gebe ich dann klaut Kornsäcken Elektro 1 gibt den Punkt anfangen Kontext aber und kann dann schon auf den Kontext aber zu lassen auch hier gibt es Vergleichbares von Netflix ist nämlich eher ein keine und das was wir gerade gesehen haben ist meines Kollegen geklaut Alternative gibt es auch noch von Verkehrsarten konnte Gebrechen für freien Work was allerdings dafür welche basiert von der Idee her recht identisch wie das konnte Bereichen Phonds bringen weil beide frei machen eigentlich an das gleiche sie holen sich Konfigurations Werte von verschiedenen Quellen verschiedene Poppe die falls die Daten können der Datenbank gehen oder auch im Kontext der war und stellen alles in einheitlichen Konfigurations Modell dann zur Verfügung das macht auch Ekeus die haben dann noch ein paar mehr Möglichkeiten Backend-System weiter angebunden dass der Fokus dann leicht
anders die bieten auch Groll Becks Rom über Änderungen zu informieren gibt auch in Integration gegen Spring Cloud oder .punkt im Standardfall wir dir halt mit der voll Spring Cloud ist vollkommen ausreichend sein wenn halt irgendwelche speziellen Datenbank Konstellationen gibt wo vielleicht
Ekeus mehr kann dann kann man sich überlegen das ganze einzubinden so Elastizität das haben wir gesehen und sowohl übernimmt das Routing und wir haben die statische Konfiguration dass es auch zum Teil das was in manchen von unseren Projekten der Kunde gerne möchte weil er sagte es ja super dann kann ich ja hier in meinem normalen was Proxy und immer ein Router das ganze statische konfigurieren dass nach den der Betrieb und ich will es auf jeden Fall statischer haben war dann hab ich ja immer volle Kontrolle wo gerade welche Service läuft und laufen sollte das Problem ist natürlich die ganze Architektur ist dann so flexibel wie eine Betonwand in ihrem Roman Service wegbricht oder so ja dann hat der Betrieb halt irgendwo Pech weil amodal schnell dafür sorgen dass Konfiguration angepasst wird kann man vielleicht machen wenn man diejenige Services hat aber wenn ich mit großer Leidenschaft hat die irgendwann auf Hunderte von Sir so anschwillt ist das natürlich keine Option mehr dann brauch ich Dynamik da drin das heißt also wir brauchen eine seines Service der bisher bedeutet dass sich die IT-Services Arnstadt aber automatisch bei der das ist -minus anmelden sagen Hallo ich bin in der Version hier und kontinuierlich eigentlichen hat Bits dass Jahrestag des senden wohnen wenn Sie das nicht tun werden sie halt aus der Registry wieder entfernt automatisch sowohl wird dann werden den automatisch die Liste aber geht relativ einfach so dahin gehend umzukonfigurieren gegeben
auch hier wiederum bei den guten alles aus ID 1 konfigurieren die aus ID aber nicht sondern konnte nur konfigurieren 4 den Jurica klein also Yureka war ist in der 4. Komponente sprich in der an Service trägt die wir dann hier in diesem Fall nutzen und von Spring Cloud integriert wird das heißt hier würdigten Entfernung von Jovica angeben und die eigentliche Service ID ohne die entsprechenden Liste von Servern die verfügbar ist die wird wiederum von der Service werde sie verweigert wenn ich jetzt endlich Services habe einen Services aufrufen möchte und sollte ich vielleicht eine Möglichkeit vermeiden war am Ende aber Geflechte von Service Abhängigkeiten und stark aber Abhängigkeiten die ich haben möchte aber wenn ich doch mal in die Verlegenheit kommen dass der eine für den andern aufrufen muss kann ich das natürlich auch über den externen .punkt machen über oder des Service fragt direkt sie selber ab und ruft dann den anderen Service direkt auf das kann man zum Beispiel machen was er ihnen auch eine E-Zigs Bibliotheks führe erst sind aber nicht recht schön und einfach zu nutzen auf jeden Fall schöner zu nutzen als das dann bringen es den bläht weil ich definiere einfach nur um die User Service aufzurufen Interface von der Idee her ungefähr wie bei den Spielen älter aussieht und ist falls Sie da schon mal benutzt hat gut dann auch einfach nur an Interface hat mit Feinden so weil die oder so und die eigentliche Datenbankabfrage Roxy automatisch im Hintergrund an hier ist es eben nicht definieren das Interface ich gebe hier und da fängt plant man Service ein die ein eher die dann aus der Industrie abgefragt wird und den Musikfesten entgehen gebe ich die Informationen mit damit Implementierung weiß wie der Artikel wie Aufruf zu gestalten ist aber es fehlt an jetzt haben natürlich dann ganzer Satz von Markus IT-Services und ich muss wirklich schon
überlegen was passiert jetzt eigentlich werden Systeme oder Services ausfallen ich möchte natürlich wenn wir uns hier entsprechende Systeme bauen dass auch im Fehlerfall Antwort bereit ein hat gegebenenfalls hier Servicequalität sprich ich greife auf vorwärts zu ich muss erkenne Fehler Situation schnell eine Maßnahme beseitigt werden dann ist das haben wir mit dem Rat geht Mechanismus und besseres trennte sich schon gesehen das andere ist dass ich natürlich gucken kann Haltung lose Kopplung dass ich irgendwie die Daten haben die besseren Koppel in asynchrones Messaging-App der sich nicht erst Brunnenbecken Systemaufrufe um beispielsweise in SAP anzufragen Kunden anzulegen sondern den von den Anfang mit zahle der Kunde ist in Anlage und diesen Request Kundeneinlagen dann vielleicht erwähnen dass der sich selber machen kann auf dem persistenten Ersatzbus asynchron lege wenn ich aber doch mal blockierende aufrufen machen muss dann komme ich natürlich schnellste Situation wir haben ihren und Service und wir haben Bäckern und anderen unseres ja was passiert wenn dieser Service dann wegbricht aber nicht verfügbar ist .punkt und das Becken ist nicht mehr da jetzt hab ich natürlich Anfragen gegen Service und wir laufen ein Timeout und wir haben immer mehr Anfragen in einem Auto reinlaufen laufen und wenn wir Pech haben es irgendwann ist der kunstvoll wie auch immer oder ja und von allen verzögert sich die Abfrage der Nutzer wird ungeduldig drückt noch fünfmal auf 5 was die Last dann auch wieder steigert das heißt sie und blockieren AnsÃtze bringt schon so seine Tücken mit sich was da natürlich hilft ist das Socket Bäcker Peter was natürlich schon seit 1800 79 hilft das wollen nicht ablehnen aber was heißt das Ganze jetzt dafür Software-Engineering bedeutet dass ich hab ne Komponente bei einem vor dem oder unsicher zwischen dem aber so ist das Backend klären wir eine ich einige Services integriere und welche dann diesen Becker aufrufen fast und welcher diesen Aufrufen Ronit fort und wir haben auch hier ein schwerer werden könne dann halt hier erfassen ob wie Latein aus oder fachliche Fehler zurückkommen und wenn unser Backend jetzt sehr ich ein Jahr laufende natürlich auch hier zunächst in allen Teilen Nordrhein aber irgendwann wo das Becken kann ich das halt recht schnell erreicht mit ihr den Schwellenwert an das Wirken Bräker öffnet und der Vorteil ist fällt fast wir wissen es liegt eine Fehler Situation vor der wir können versuchen das Ganze zu kompensieren also eine Implementierung von Sulzer geprägt das ist zunächst eine Implementierung von Netflix die wir dann auch gleich Optionen also wieder zum einen die Option an die Aufrufe auf unterschiedlichen Sites zu isolieren damit explizit an ausgesetzt werden können zum anderen kann aber auch 1 Vollbild mit angegeben werden ob ich jetzt diesen Anwendungsfall im Bergen Aufruf sinnvoll waren vor der kompensieren kann durch Daten oder ein an aus aufrufen hängt immer eine vom Anwendungsfall ab aber auf jeden Fall erkennen wir hier sehr schnell die Feder Situation und noch wichtiger aber wir nehmen Last von den Backend-Systemen weg weil es kann ja immer sein dass einfach dieses Backend-Systeme nur überlastet ist und sich erholen muss es muss natürlich Wasser Verbrecher erkennen wenn das Becken System wieder das o und dazu werden und von Zeit zu Zeit mal anfragen durchgeleitet dann ist es für Gepräge Zustand halt offen und es werden immer mehr Anfragen gegen das Backend-System geleitet und wenn diese erfolgreich beantwortet werden wird wieder geöffnet und Anfragen zum wegen das Thema zum anderen Service weitergeleitet das heißt dieses sehr geprägt war beziehungsweise ist weg von den Text nämlich immer dann einsetzen wenn ich blockieren Aufrufe gegen einen anderen Service mache bzw. Suhl schon standardmäßig integriert das von Business und legt damit die wir uns da Anwendungsfall auch ein Anwendungsfall von in Netflix vor da schon etliche Jahre eher an der Seite Netflix Seite so aus also so 2012 rum vor 5 Jahren das ist halt viele Backend Service ist da https Essensreste ist es diesen Freund einseitig ob regiert worden dann gab es einen Service für die Filmliste ein Service für die also das Rating einen für die Filmbeschreibung und alles wurde Frontends einseitig daran integriert und werden von den seitiges Service Komposition heißt natürlich bei jedem Service auf aufgrund hab ich ne gewisse Latenz ohne natürlich ich kann den Browser natürlich nicht beliebig hier parallelisieren der Browser wird als gut aber natürlich aber in der Regel maximal 8 parallele Bikes Richtung Backend absetzen besser ist natürlich serverseitige seines Komposition wo ich dann vielleicht auch unterschiedliche Endpunkte unseres Kompositionen aber für unterschiedliche die weiß weil vielleicht mehr wobei die weiße kann gehen und weniger Informationen anzeigen und so das ich dann 7 spezifische Service Komposition das wollten die meine Pflicht bauen das Problem ist dann dann muss ich halt ja so Kompositionen bauen Service zeitlich wo ich vielleicht Parallelsystem abfragen Moos und na ja und das führt natürlich dazu so Nebenläufigkeit in aber ich muss mir überlegen wie parallelisiert ich aufrufe nicht ganz so leicht deswegen aber ein Mitarbeiter von Netflix der von Microsoft kamen den Vorschlag gemacht hat dann lass uns doch mal Ex anschauen reject Extensions da gar Verhalten dort mit Implementierung da Aufnahme in JavaScript Implementierung und dann auf Basis dessen wurde dann ja extra als Projekt von Netflix initiiert hat jemand heute morgen zufälligerweise sind vorgesehen reaktiver Architekturen mit extra war es genau damit gleich ein bisschen Überschneidungen können an der Stelle ist nun noch mal auf dem anderen Blickwinkel betrachtet aber diese Anwendungsfall war der Grund aber zu starten in ich wenn ich also im Grunde Schnittstellen bauen möchte die nicht blockieren sind dann komme ich natürlich im schlimmsten Fall und Kolberg sich drum herum wenn wir uns das mal so Kolbeck aber basierte sonst Komposition
anschauen einfach nur wir wollen meine Daten von den Customer Service laden wir wollen Sie verändern und Zurückschreiben dann hab ich im Kasten Wasser fallen bei ihr und ich gebe hier haben mittelst die wir hier oben eine Funktion an die aufgerufen wird wenn die Daten von Service da sind und wenn dieser Kolberg aufgerufen hat und die Antwort von Service kann ganz asynchron muss ich prüfen war der Aufruf über überall erfolgreich der blockieren Programmierung will ich einfach mit Ext arbeiten wenn ich hier natürlich Prozess übergreifen kommunizieren kann ich das natürlich schon nicht mehr machen das heißt ich muss erst mal gucken weil der Aufruf erfolgreich muss die Daten passen dann kann ich hier meine meine Daten verändern die Adresse setzen und muss das Ganze nochmal asynchron zurück schreiben auch daran dass sich eigentlich jeder prüfen war der Aufruf erfolgreich man sieht schon nach Kolberg sind deshalb nicht gerade der schönste programmiert dann weil er die schnellsten Wissenschaften kommen weil wir viele Situationen an verschiedenen Stellen behandeln müssen wir kurz und man landet ihren munter Kolbe können das möchte man nicht wie kann ich denn generell dpa ist
dies wie gesagt im einfachsten Fall ich habe ich hab einfach und Lucky einen Aufruf und nicht wegen Objekt zurück in der Tat die meisten Schnittstellen die ich im Java Umfeld habe die sie sind halt blockieren 8 möchte ich dass es den jetzt asynchron bauen ja dann kann ich konvex mussten aber gesehen ist nicht schön oder ich nehme Features bzw. aber ab komplette und nur 4 utscher sind ein Platzhalter für einen Wert Zukunft bereitgestellt wird und utscher Ansicht sich viele da aber 1 4 4 Features diesen der wiederum blockieren das heißt dann komplett also im Grunde System eignet sich das Ganze nicht im System wo ich vielleicht Zwischenergebnisse daran zum kleinen schon mal pushen möchte vielleicht einen Nutzer Suche oder so ruhig Teilergebnisse schon mal schön möglichst schnell anzeigen möchte der Fall ist wenn ich eher also im Grunde das Leben von Events verarbeiten möchte Frau schon was anderes und da hilft uns wenn ich nicht grade Kollwitz verwenden möchte das Observer Wirbel mit der Implementierung von reject Ex dass dann wenn nötig ist um wenn Strömer asynchrone wenn strömen so Zeugen zu transformieren zu kombinieren und dann zu verarbeiten wenn es sich haben ob sie dabei und ich haben ob sie will oder ob sie das Obst greift sich bei so so normal Fall hätt ich einfachen 10. Pleite der Server ruft das Jahr denn die Empfänger auf und der Empfänger schickt einfach alle Daten in einem Rutsch zurüc hier SPD gab sie aber reibt sich wirbelndes Sozialberuf dann also synchron für jeden Datensatz zur Verfügung steht der vielleicht aus der Datenbank gelesen wurde beim ob Server und Next aus so dass diese Daten dann schau mal verarbeitet werden können im Fehlerfall und Ehre und um komplette denn alle Daten schließlich übertragen worden und wenn wir uns da unser es gehe noch mal anschauen wie unser Customer Service mit ist sehen
wir haben diese Schachtel uns Tiefe nicht mehr besuchen die einfachen Kasten war bei die ok dafür dass (klammer auf sich gerade aber ich rufe einfach fallen bei die auf mit der ID 1 2 3 und bekommen ein Nutzer über zurück auf dem ich dann relativ einfach 2 mal 4 Sone mehr Funktion aufrufen kann und wenn ich nochmal asynchronen Aufruf mache benutze in Flat mehr weil wir asynchronen Aufruf besonders wenig Person Events stehst reden dann wiederum mehrere asynchronen Aufruf machen muss er erhalte ich einen bei jedem Aufruf dann wiederum und zurück und das glaube ich dann sozusagen Platten nicht Ende des Tages nur ein Strom an Events habe und kann ich dazu nicht treiben und das Ganze bei der Arbeit ein Hinweis noch an der Stelle das kam heute morgen auch in den Vortrag aus dem Thema synchrone Architekturen mit er ist ja aber das ist ein bisschen bezogen Richtung Netflix das Deck natürlich gibt es mittlerweile auch eine bringen Implementierungen Chören in Richtung von der Reaktor war dies sind Vektoren er als klar war und der sich aber 2 die sind relativ leicht also Beispielsammlung die wir zweifeln geht aber haben der die haben wir relativ schnell nach war er von einem Tag übertragen können das Reaktor 1 so sagen wir mal die neuere Implementierung ohne Altlasten für Spring letztlich hängt das aber vom Anwendungsfall ab und von der Plattform ab denn jetzt schon aber es lädt sich einfach nur eine Möglichkeit um Konstrukt wie ich die ALG 1 gestalten kann mit funktionalen Ketten genau so wie es jetzt bei aber für schon komplette bis Lutscher ist oder Java 8 Screens letztlich brauche ich immer noch eine Plattform untendrunter mit kreativen Datenbank 3 mit vielleicht Event Bus oder so wo ich wirklich die Vorzüge der nutzen kann und wenn ich jetzt beispielsweise einmal daran aktive Anwendung des bringen waren will mit bringt 5 90 natürlich trägt auch wenig Anwendungen Bauern mit Latex zum Beispiel was die fremd wirkt ist dann auf Basis von Nachrichten Bus komplett asynchron dann würd ich ärgste aber benutzen weil die bieten auch wiederum eine recht gute 1. Integration hängt also immer ein bisschen von der Plattform war aber das ganze ursprünglich mal von Netflix kam dann eben auch wieder um die Métis Komponenten der gute Exklave Integration Districts zum Beispiel da hat man dem Standard Interface dann auch immer noch also will Interface und Stunk Blumenwasser jetzt gesehen haben alle Spring Cloud bietet eine ganze Reihe von Möglichkeiten an
oben verteilte Systeme zu bauen ich kann den und auch Lenzing mit sowohl umsetzen kann Yureka bietet Minister Registry und des Karin ich hatte verkeilt verteilte er Konfiguration entweder über einen über das den gut Standardmittel beziehungsweise überall Eckell aus nun auch schon bei Spielen geklaut Service und Service ,komma als mit verhindern oder auch mit springen das bringen wir Standardmittel an wie beispielsweise das den Client wobei wir haben mit Fan eine recht schöne Abstraktionsschicht an der Stelle bereitgestellt werden liegt schon zu benutzen ist und wie hier zur Präger Eltern integriert haben ist Tracks und wenn ich so ist das auch gar nicht das ganze dann auch wirklich aber zur Service Kompositionen Anhalt kombinieren aber das ganze System geht natürlich mit einer gewissen Komplexität einer das heißt man muss natürlich vorher schon genaue Gedanken machen wie sollten in die Architektur aussehen welche Anforderungen habe ich dann und wie gesagt dass was ein bisschen der technische Teil den ich mir natürlich bei den anderen Tal halt auch bei der fachlichen Modellierung und bei einem Schnitt von IT-Services ist Stichworte damit um einen würden die seinen Unterricht dort halt Richtung bauen Kontext wie dieser sauber schneide Lanig ich halt auch wenn ich jetzt hier schön Service könntest Trisol und sonst was das Vorsätze schnelleren Architektur in so aussieht und das möchte keiner gut dann bedanke ich mich recht herzlich für die Aufmerksamkeit Hilfe fragen ja bitte
ja ganz genau mit auch geht
die Frage war ja Abhilfe für diese insgesamt also die Frage war wie ich das Ackerflächen wird einordnen würde Reaktoren der extra aber 2 also auch beackern gibt ist der des Drehens was dann eigentlich nämlich Unterstützung dann wiederum bietet für so ein asynchrone Event Verarbeitung und aus er jetzt war einst den Ambitionen von bringen und aus Osakas trieben ist dann wieder um direktes Drehen der Spezifikationen vorgegangen das hab ich jetzt immer ausgeklammert weil es ist halt wir keine anregte Vortrag des aber direkte Frieden Specification definiert Interface ist für die Java Welt für Consumer und und die USA nicht für die Methoden die wir gesehen haben mehr und vielleicht Mehr mehr aber grundlegender Interface dafür ist es Kompatibilität zwischen diesen Frame wird in der Java Welle zu gewährleisten und das dann von Acker sind implementiert von Rektor sowieso und von der Ex Java in der Version 1 2 0 ja genau hängt natürlich deswegen sage sehr von der Plattform auch nicht kann nutzen und sicher kastrieren ist wenn ich spring 5 nutzen und sich und wenn ich jetzt jetzt mit die über Text oder was anderes nutze dann kann ich jeder Richtung ärgste aber gehen oder auch wenig Richtungen könne vielleicht und das bringt viele Anwendungen habe und das und das Service Kompositionen einbauen dann springt dann spricht auch absolut nichts kann schlauer gut außer Frage ob gut also sind in verschiedenen Branchen unterwegs wobei ich persönlich jetzt im Bankenumfeld unterwegs bin daher weil das Ganze Beispiel in der Richtung bisschen auch n vor ist recht unterschiedlich sah sich da also zum Teil was wir ablösen ist schon kleinste aber wusste man schon alte Java basiert inmitten der gab die dann halt Komponen tisiert wird und durch den Markus Service Architecture abgelöst wird gut auf der anderen Seite gibt es sicherlich auch nirgendwo kehren Bankensystem wird da in die eine noch Patch passiert sind und die dann abgelöst werden müssen aber das sind eigentlich meistens so Maßnahmen da ist man jetzt halt nicht so schnell und agil und ich sage ich mal jetzt bei den von den Komponenten das Onlinebanking oder sonst wer sein gut
dann herzlichen Dank wenn noch Fragen sind könnte auch der direkt auf mich zukommt
Open Source
Freeware
Dienst <Informatik>
Open Source
Entwurfsmuster
Hacker
Systems <München>
Computeranimation
Mathematische Größe
Internet
Dienst <Informatik>
Apple <Marke>
Google
Prozess <Informatik>
Digitalisierung
Digitalisierung
Fokalpunkt
Architektur <Informatik>
Schnittstelle
Streuungsdiagramm
Soundverarbeitung
Elastische Deformation
Dienst <Informatik>
Objektklasse
Digitalsignal
Architektur <Informatik>
Punkt
Software
Skalierbarkeit
Anwendungssoftware
Mathematisierung
Computeranimation
Ebene
Momentenproblem
Skalierbarkeit
Datenbank
Funktionalität
Dienst <Informatik>
Computeranimation
Richtung
Datenhaltung
Physikalisches System
Mittelungsverfahren
Skalierbarkeit
Digitalsignal
Prozess <Informatik>
Stochastische Abhängigkeit
Streuungsdiagramm
Business Object
Elastische Deformation
Architektur <Informatik>
Content <Internet>
Grad n
Elektronischer Datenaustausch
Mathematisierung
Vertikale
Dienst <Informatik>
Funktion <Mathematik>
Komponente <Software>
Last
Helmholtz-Zerlegung
Schnitt <Mathematik>
Systems <München>
Zusammenhang <Mathematik>
Momentenproblem
Desintegration <Mathematik>
Compiler
Scheibe
OSS <Rechnernetz>
Dienst <Informatik>
Code
Computeranimation
Richtung
Systemprogrammierung
Mittelungsverfahren
Weg <Topologie>
Prozess <Informatik>
Software
MIDI <Musikelektronik>
Booten
Softwareentwickler
Streuungsdiagramm
Softwaretest
Datenhaltung
Konfigurationsraum
Prozessautomation
Mustersprache
Quelle <Physik>
Integral
Vertikale
Framework <Informatik>
Komponente <Software>
Anwendungssoftware
Registrierung <Bildverarbeitung>
Schnitt <Mathematik>
Versionsverwaltung
Schwebung
Streuungsdiagramm
PROM
App <Programm>
Punkt
Ausnahmebehandlung
REST <Informatik>
Desintegration <Mathematik>
Konfigurationsraum
Elektronischer Datenaustausch
Plug in
Dienst <Informatik>
Hausdorff-Raum
Code
Computeranimation
Zeichenkette
Quelle <Physik>
Systemprogrammierung
Mustersprache
Last
Dienst <Informatik>
Framework <Informatik>
Koroutine
Anwendungssoftware
Booten
Registrierung <Bildverarbeitung>
Aggregatzustand
Hydrostatik
Ausnahmebehandlung
Skalierbarkeit
Gateway
Summengleichung
Dienst <Informatik>
Computeranimation
Richtung
Fehlertoleranz
Last
Proxy Server
Konfigurationsraum
Schnittstelle
Implementierung
Streuungsdiagramm
Elastische Deformation
Architektur <Informatik>
Reverse Engineering
Konfigurationsraum
Laufzeitsystem
Orbit <Mathematik>
Applet
Mathematisierung
Elektronischer Datenaustausch
Prozessautomation
Routing
Objektklasse
Quelle <Physik>
Dienst <Informatik>
Anwendungssoftware
Client
Server
Version <Informatik>
Information
Programmbibliothek
Lastteilung
Versionsverwaltung
Instanz <Informatik>
Quelle <Physik>
Retrievalsprache
Server
Punkt
Datenbank
Dienst <Informatik>
Computeranimation
Datenhaltung
Quellcode
Message-Passing
Umwandlungsenthalpie
Arbeitsplatzcomputer
Konfigurationsraum
Stochastische Abhängigkeit
URL
Streuungsdiagramm
Datenbus
Datentyp
Elektronische Publikation
Konfigurationsraum
Elektronischer Datenaustausch
Gasströmung
Programmierumgebung
Fokalpunkt
Maßeinheit
Benutzerprofil
Dienst <Informatik>
Framework <Informatik>
Anwendungssoftware
Server
Client
Version <Informatik>
Schnittstelle
Proxy Server
Bit
Punkt
Implementierung
Dienst <Informatik>
Computeranimation
Last
Maßstab
Konfigurationsdatenbank
Proxy Server
Router
Gruppoid
Konfigurationsraum
Konfigurationsdatenbank
Streuungsdiagramm
Schraubenlinie
Dynamik
Reverse Engineering
Konfigurationsraum
Elektronischer Datenaustausch
Routing
Program Slicing
Quelle <Physik>
Dienst <Informatik>
Komponente <Software>
ATM
Client
Server
Version <Informatik>
Information
Geflecht <Mathematik>
Registrierung <Bildverarbeitung>
Relationentheorie
Kopplung <Physik>
Nebenläufigkeit
Server
Browser
Matrizenrechnung
Implementierung
Dienst <Informatik>
Architektur <Informatik>
Netzadresse
Computeranimation
Richtung
Systemprogrammierung
Physikalisches System
Last
Code
Datennetz
Proxy Server
EXTEST
Schnittstelle
Elastische Deformation
Reverse Engineering
Browser
Logische Schaltung
Systemaufruf
Abfrage
Telekommunikation
Programmierung
Widerspruchsfreiheit
Mustersprache
Dienst <Informatik>
JavaScript
Komponente <Software>
Last
Parallelen
Client
Microsoft
Overhead <Kommunikationstechnik>
Socket
Information
Software Engineering
Systems <München>
Mechanismus-Design-Theorie
Objekt <Kategorie>
Große Vereinheitlichung
Datenbank
Tiefe
Implementierung
Dienst <Informatik>
Systemplattform
Architektur <Informatik>
Computeranimation
Richtung
Variable
Datensatz
Wirbelströmung
Ereignishorizont
Matroid
Schnittstelle
Folge <Mathematik>
Fehlermeldung
Datenbus
Vektorrechnung
Reihe
Ereignishorizont
Menge
Komponente <Software>
Anwendungssoftware
Server
Streaming <Kommunikationstechnik>
Streuungsdiagramm
Desintegration <Mathematik>
Konfigurationsraum
OSS <Rechnernetz>
Dienst <Informatik>
Computeranimation
Richtung
Komponente <Software>
Mustersprache
Systemprogrammierung
Quelle <Physik>
Last
Dienst <Informatik>
Client
Schnitt <Mathematik>
Registrierung <Bildverarbeitung>
Konfigurationsraum
Systems <München>
Patch <Software>
Dienst <Informatik>
Komponente <Software>
Anwendungssoftware
Version <Informatik>
Systemplattform
Richtung
E-Mail
Twitter <Softwareplattform>
Computeranimation

Metadaten

Formale Metadaten

Titel Fehlertolerante und skalierbare Systeme mit dem Netflix OSS
Serientitel FrOSCon 2017
Autor Menzel, Michael
Lizenz CC-Namensnennung 4.0 International:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
DOI 10.5446/32287
Herausgeber Free and Open Source software Conference (FrOSCon) e.V.
Erscheinungsjahr 2017
Sprache Deutsch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Dieser Vortrag führt relevante Entwurfsmuster ein, um skalierbare, umgebungsunabhängige, fehlertolerante und versionierte Microservices bereitzustellen. Darauf basierend wird die Umsetzung durch Komponenten des Netflix Open Source Stacks vorgestellt: Konfiguration mit Archaius, elastische Dienste mit Eureka, Gateway Service mit Zuul, Resilience mit Hystrix und Service-Komposition mit RxJava.

Zugehöriges Material

Video wird in der folgenden Ressource zitiert

Ähnliche Filme

Loading...