{"id":30785,"date":"2019-10-31T21:37:25","date_gmt":"2019-10-31T18:37:25","guid":{"rendered":"https:\/\/prohoster.info\/blog\/stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie\/"},"modified":"2019-10-31T21:37:25","modified_gmt":"2019-10-31T18:37:25","slug":"stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie","title":{"rendered":"Bausteine verteilter Anwendungen. Null-N\u00e4herung","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Bausteine verteilter Anwendungen. Null-N\u00e4herung\" src=\"\/wp-content\/uploads\/2019\/04\/88d4e363538bdfc67690c8339dca790b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Die Welt steht nicht still. Fortschritt bringt neue technologische Herausforderungen mit sich. Entsprechend den ver\u00e4nderten Anforderungen muss auch die Architektur von Informationssystemen weiterentwickelt werden. Heute werden wir \u00fcber ereignisgesteuerte Architektur, Parallelit\u00e4t, Asynchronit\u00e4t und dar\u00fcber sprechen, wie man all dies friedlich in Erlang integrieren kann.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"vvedenie\">Einf\u00fchrung<\/h2>\n<p><\/p>\n<p>Je nach Gr\u00f6\u00dfe des geplanten Systems und den Anforderungen w\u00e4hlen wir, die Entwickler, die Kommunikationsmethode innerhalb des Systems aus. In den meisten F\u00e4llen kann ein Broker-Modell, beispielsweise basierend auf RabbitMQ oder Kafka, eine praktikable L\u00f6sung f\u00fcr die Interaktion zwischen den Diensten sein. Doch manchmal sind der Ereignisfluss, das SLA und der Grad der Kontrolle \u00fcber das System so beschaffen, dass vorgefertigtes Messaging nicht ausreicht. Nat\u00fcrlich kann man das System etwas komplizierter gestalten, indem man die Verantwortung f\u00fcr die Transportebene und die Bildung eines Clusters \u00fcbernimmt, etwa durch die Verwendung von ZeroMQ oder nanomsg. Wenn das System jedoch \u00fcber ausreichende Bandbreite und die M\u00f6glichkeiten eines Standard-Erlang-Clusters verf\u00fcgt, bedarf die Einf\u00fchrung einer zus\u00e4tzlichen Entit\u00e4t einer tiefgehenden Analyse und einer wirtschaftlichen Rechtfertigung.<\/p>\n<p><\/p>\n<p>Das Thema reaktiver verteilter Anwendungen ist recht umfangreich. Um im Format eines Artikels zu bleiben, konzentrieren wir uns heute nur auf homogene Umgebungen, die auf Erlang\/Elixir basieren. Das Erlang\/OTP-\u00d6kosystem erm\u00f6glicht die Implementierung einer reaktiven Architektur mit minimalem Aufwand. Dennoch ben\u00f6tigen wir eine Schicht f\u00fcr den Nachrichtenaustausch. <\/p>\n<p><\/p>\n<h2 id=\"teoreticheskiy-bazis\">Theoretische Grundlagen<\/h2>\n<p><\/p>\n<p>Die Planung beginnt mit der Definition von Zielen und Einschr\u00e4nkungen. Das Hauptziel liegt nicht im Bereich der Entwicklung um der Entwicklung willen. Wir m\u00fcssen ein sicheres und skalierbares Werkzeug erhalten, auf dessen Grundlage moderne Anwendungen verschiedener Ebenen erstellt und vor allem weiterentwickelt werden k\u00f6nnen: von Ein-Server-L\u00f6sungen, die eine kleine Zielgruppe bedienen, die sich sp\u00e4ter zu Clustern von bis zu 50-60 Knoten entwickeln k\u00f6nnen, bis hin zu Cluster-F\u00f6derationen. Das Hauptziel besteht somit darin, den Gewinn durch Reduzierung der Entwicklungskosten und der Betriebskosten des Endsystems zu maximieren.<\/p>\n<p><\/p>\n<p>Lassen Sie uns vier Hauptanforderungen an das Endsystem hervorheben:<\/p>\n<p><\/p>\n<ul>\n<li><strong>E<\/strong>Ereignisorientierung.<br \/>\nDas System ist stets bereit, einen Strom von Ereignissen zu verarbeiten und die erforderlichen Ma\u00dfnahmen zu ergreifen;<\/li>\n<li><strong>M<\/strong>skalierbarkeit.<br \/>\nEinzelne Module k\u00f6nnen sowohl vertikal als auch horizontal skaliert werden. Das gesamte System sollte in der Lage sein, unbegrenztes horizontales Wachstum zu erm\u00f6glichen;<\/li>\n<li><strong>e<\/strong>Fehlertoleranz.<br \/>\nAlle Ebenen und Dienste m\u00fcssen automatisch bei Ausf\u00e4llen wiederhergestellt werden k\u00f6nnen;<\/li>\n<li><strong>G<\/strong>arantierte Reaktionszeit.<br \/>\nZeit ist kostbar, und die Benutzer sollten nicht zu lange warten m\u00fcssen.<\/li>\n<\/ul>\n<p><\/p>\n<p>Denken Sie an das alte M\u00e4rchen von \u201eDer kleine Zug, der es schaffen konnte\u201c, auch bekannt als \u201eDer kleine Lokomotivf\u00fchrer\u201c? Damit das geplante System erfolgreich aus der Prototypenphase herauskommt und fortschrittlich ist, muss sein Fundament die minimalen Anforderungen erf\u00fcllen. <strong>KONNTE<\/strong>.<\/p>\n<p><\/p>\n<p>Der Messaging-Ansatz als Infrastrukturwerkzeug und Basis f\u00fcr alle Dienste wird um einen weiteren Punkt erg\u00e4nzt: die Benutzerfreundlichkeit f\u00fcr Entwickler.<\/p>\n<p><\/p>\n<h3 id=\"orientirovannost-na-sobytiya\">Ereignisorientierung<\/h3>\n<p><\/p>\n<p>Damit die Anwendung aus einem einzelnen <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/server\/dts-los-angeles\/\"   title=\"Server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3480\">Server<\/a> F\u00fcr einen Cluster muss die Architektur eine geringe Kopplung gew\u00e4hrleisten. Dieses Kriterium wird durch das asynchrone Modell erf\u00fcllt. Dabei k\u00fcmmern sich Sender und Empf\u00e4nger um die Informationslast der Nachricht, ohne sich um die \u00dcbertragung und die Routing innerhalb des Systems zu sorgen.<\/p>\n<p><\/p>\n<h3 id=\"masshtabiruemost\">Skalierbarkeit<\/h3>\n<p><\/p>\n<p>Skalierbarkeit und Effizienz der Systeme gehen Hand in Hand. Die Anwendungsbestandteile m\u00fcssen in der Lage sein, alle verf\u00fcgbaren Ressourcen optimal zu nutzen. Je effizienter wir die Rechenleistung einsetzen und je besser unsere Verarbeitungsmethoden sind, desto weniger Ausgaben haben wir f\u00fcr die Hardware. <\/p>\n<p><\/p>\n<p>Innerhalb einer einzelnen Maschine schafft Erlang eine hochgradig wettbewerbsf\u00e4hige Umgebung. Das Gleichgewicht zwischen Konkurrenz und Parallelit\u00e4t kann durch die Wahl der verf\u00fcgbaren Betriebssystem-Threads f\u00fcr die Erlang VM und der Anzahl der Scheduler, die diese Threads nutzen, bestimmt werden.<br \/>\nErlang-Prozesse haben keinen gemeinsamen Zustand und arbeiten im nicht-blockierenden Modus. Dies sorgt f\u00fcr eine vergleichsweise niedrige Latenz und eine h\u00f6here Durchsatzrate als bei traditionellen Anwendungen, die auf blockierender Synchronisierung basieren. Der Erlang-Scheduler k\u00fcmmert sich um eine faire Verteilung von CPU und IO, und da es keine Blockierungen gibt, kann die Anwendung selbst bei Spitzenlasten oder Ausf\u00e4llen reagieren. <\/p>\n<p><\/p>\n<p>Auch auf Cluster-Ebene gibt es Probleme mit der Auslastung. Es ist wichtig, dass alle Maschinen im Cluster gleichm\u00e4\u00dfig belastet sind und das Netzwerk nicht \u00fcberlastet wird. Stellen Sie sich vor: Der Benutzer-Traffic landet auf den eingehenden Load-Balancern (haproxy, nginx usw.), die die Anfragen so gleichm\u00e4\u00dfig wie m\u00f6glich auf eine Gruppe verf\u00fcgbarer Backends verteilen. Innerhalb der Anwendungsinfrastruktur ist der Dienst, der die ben\u00f6tigte Schnittstelle bereitstellt, nur die letzte Meile und muss eine Reihe anderer Dienste anfordern, um auf die urspr\u00fcngliche Anfrage zu reagieren. Interne Anfragen erfordern ebenfalls Routing und Lastverteilung.<br \/>\nUm Datenstr\u00f6me effektiv zu verwalten, muss Messaging Entwicklern eine Schnittstelle zur Steuerung der Routing- und Lastverteilung bereitstellen. Dadurch k\u00f6nnen Entwickler mithilfe von Microservice-Architekturen (Aggregator, Proxy, Chain, Branch usw.) sowohl Standard- als auch seltene Aufgaben l\u00f6sen. <\/p>\n<p><\/p>\n<p>Aus gesch\u00e4ftlicher Sicht ist Skalierbarkeit ein wichtiges Instrument zur Risikosteuerung. Es ist entscheidend, die Kundenanforderungen optimal zu erf\u00fcllen und die vorhandene Hardware effizient zu nutzen:<\/p>\n<p><\/p>\n<ul>\n<li>Durch den Fortschritt bei der Leistungssteigerung der Hardware wird diese nicht durch Softwareunzul\u00e4nglichkeiten ungenutzt bleiben. Erlang l\u00e4sst sich hervorragend vertikal skalieren und kann immer alle CPU-Kerne und den verf\u00fcgbaren Speicher nutzen.<\/li>\n<li>In Cloud-Umgebungen k\u00f6nnen wir die Anzahl der Hardware entsprechend der aktuellen oder prognostizierten Last verwalten und SLA garantieren.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"otkazoustoychivost\">Ausfallsicherheit<\/h3>\n<p><\/p>\n<p>Betrachten wir zwei Axiome: 'Fehler sind unzul\u00e4ssig' und 'Fehler werden immer auftreten'. F\u00fcr Unternehmen bedeutet ein Softwareausfall Geldverlust und, was noch schlimmer ist, einen Rufschaden. Oft l\u00e4sst sich ein Kompromiss zwischen potenziellen Verlusten und den Kosten f\u00fcr die Entwicklung fehlertoleranter Software finden.<\/p>\n<p><\/p>\n<p>Kurzfristig spart eine Architektur mit integrierter Fehlertoleranz Kosten f\u00fcr den Kauf teurer gebrauchsfertiger Clusterl\u00f6sungen, die zudem Fehler aufweisen k\u00f6nnen.<br \/>\nLangfristig amortisiert sich eine ausfallsichere Architektur mehrfach im gesamten Entwicklungsprozess.<br \/>\nMessaging innerhalb des Codes bereits in der Entwicklungsphase erm\u00f6glicht eine detaillierte Abstimmung der Interaktionen zwischen den Komponenten im System. Dadurch wird die Reaktion auf und das Management von Fehlern vereinfacht, da alle verantwortlichen Komponenten die Fehler behandeln und das Gesamtsystem wei\u00df, wie es nach einem Fehler automatisch in den Normalbetrieb zur\u00fcckkehrt \u2013 by design.<\/p>\n<p><\/p>\n<h3 id=\"otzyvchivost\">Reaktionsf\u00e4higkeit<\/h3>\n<p><\/p>\n<p>Unabh\u00e4ngig von Ausf\u00e4llen muss die Anwendung auf Anfragen reagieren und die SLA erf\u00fcllen. Die Realit\u00e4t ist, dass Menschen nicht warten m\u00f6chten, daher muss sich das Gesch\u00e4ft anpassen. Immer mehr Anwendungen erwarten eine hohe Reaktionsf\u00e4higkeit.<br \/>\nReaktionsschnelle Anwendungen arbeiten nahezu in Echtzeit. Die Erlang VM funktioniert im Modus der weichen Echtzeit. F\u00fcr bestimmte Bereiche wie den Aktienhandel, die Medizin und das Management von Industrieanlagen ist der Modus der harten Echtzeit entscheidend.<br \/>\nReaktionsschnelle Systeme verbessern die Benutzererfahrung und sind f\u00fcr Unternehmen von Nutzen.<\/p>\n<p><\/p>\n<h2 id=\"predvaritelnyy-itog\">Vorl\u00e4ufiges Fazit<\/h2>\n<p><\/p>\n<p>Bei der Planung dieses Artikels wollte ich meine Erfahrungen beim Erstellen eines Messaging-Brokers und beim Aufbau komplexer Systeme darauf basierend teilen. Doch der theoretische und motivierende Teil erwies sich als ziemlich umfangreich.<br \/>\nIm zweiten Teil des Artikels werde ich die Feinheiten der Implementierung von Austauschpunkten, Nachrichtenmustern und deren Anwendung erl\u00e4utern.<br \/>\nIm dritten Teil betrachten wir allgemeine Fragen zur Organisation von Diensten, Routing und Lastverteilung. Wir werden \u00fcber die praktische Seite der Skalierbarkeit und Fehlertoleranz von Systemen sprechen.<\/p>\n<p><\/p>\n<p>Ende des ersten Teils.<\/p>\n<p><\/p>\n<p>Foto <noindex><a rel=\"nofollow\" href=\"https:\/\/unsplash.com\/photos\/SRjZtxsK3Os\">@lucabravo<\/a><\/noindex>.<\/p>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446028\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0438\u0440 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435. \u041f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u044b. \u0412 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u0438\u0432\u0448\u0438\u043c\u0438\u0441\u044f \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \u0434\u043e\u043b\u0436\u043d\u0430 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435, \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u0438 \u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0432 Erlang \u043c\u043e\u0436\u043d\u043e \u0441\u043e \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0436\u0438\u0442\u044c \u043c\u0438\u0440\u043d\u043e. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a \u043d\u0435\u0439, \u043c\u044b, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22770,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30785","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0438\u0440 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435. \u041f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u044b. \u0412 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u0438\u0432\u0448\u0438\u043c\u0438\u0441\u044f \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \u0434\u043e\u043b\u0436\u043d\u0430 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435, \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u0438 \u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0432 Erlang \u043c\u043e\u0436\u043d\u043e \u0441\u043e \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0436\u0438\u0442\u044c \u043c\u0438\u0440\u043d\u043e. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a \u043d\u0435\u0439, \u043c\u044b,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041d\u0443\u043b\u0435\u0432\u043e\u0435 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0438\u0440 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435. \u041f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u044b. \u0412 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u0438\u0432\u0448\u0438\u043c\u0438\u0441\u044f \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \u0434\u043e\u043b\u0436\u043d\u0430 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435, \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u0438 \u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0432 Erlang \u043c\u043e\u0436\u043d\u043e \u0441\u043e \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0436\u0438\u0442\u044c \u043c\u0438\u0440\u043d\u043e. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a \u043d\u0435\u0439, \u043c\u044b,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:37:25+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:37:25+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Bausteine verteilter Anwendungen. Null-N\u00e4herung | ProHoster","description":"Die Welt steht nicht still. Fortschritt stellt uns vor neue technologische Herausforderungen. Entsprechend den ver\u00e4nderten Anforderungen muss auch die Architektur der Informationssysteme weiterentwickelt werden. Heute werden wir \u00fcber ereignisgesteuerte Architekturen, Konkurrenzf\u00e4higkeit, Parallelit\u00e4t, Asynchronit\u00e4t und dar\u00fcber sprechen, wie man mit all dem in Erlang harmonisch leben kann. Einleitung Je nach Gr\u00f6\u00dfe des zu entworfenen Systems und seinen Anforderungen werden wir,","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041d\u0443\u043b\u0435\u0432\u043e\u0435 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0435 | ProHoster","og:description":"\u041c\u0438\u0440 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435. \u041f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u044b. \u0412 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u0438\u0432\u0448\u0438\u043c\u0438\u0441\u044f \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \u0434\u043e\u043b\u0436\u043d\u0430 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435, \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u0438 \u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0432 Erlang \u043c\u043e\u0436\u043d\u043e \u0441\u043e \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0436\u0438\u0442\u044c \u043c\u0438\u0440\u043d\u043e. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a \u043d\u0435\u0439, \u043c\u044b,","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:37:25+00:00","article:modified_time":"2019-10-31T18:37:25+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30785","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-22 15:31:13","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:29:56","updated":"2026-02-22 15:31:13"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/30785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=30785"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/30785\/revisions"}],"predecessor-version":[{"id":162006,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/30785\/revisions\/162006"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/22770"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=30785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=30785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=30785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}