{"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. Der Fortschritt schafft neue technologische Herausforderungen. Mit den sich \u00e4ndernden Anforderungen muss sich auch die Architektur der Informationssysteme weiterentwickeln. Heute werden wir \u00fcber ereignisorientierte Architektur, Konkurrenz, Parallelit\u00e4t, Asynchronit\u00e4t und dar\u00fcber sprechen, wie man in Erlang friedlich damit leben 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 daran w\u00e4hlen wir Entwickler die Methode zur Informations\u00fcbertragung im System aus. In den meisten F\u00e4llen kann ein Broker-basierendes Schema, beispielsweise auf RabbitMQ oder Kafka, eine praktikable L\u00f6sung zur Organisation der Interaktion der Dienste sein. Aber manchmal sind der Ereignisfluss, die SLA und der Kontrollgrad \u00fcber das System so beschaffen, dass uns bestehende Messaging-Systeme nicht ausreichen. Nat\u00fcrlich kann man das System etwas komplexer gestalten, indem man die Verantwortung f\u00fcr die Transportschicht und die Clusterbildung \u00fcbernimmt, zum Beispiel mit ZeroMQ oder nanomsg. Aber wenn das System \u00fcber ausreichende Bandbreite und Funktionen des standardm\u00e4\u00dfigen Erlang-Clusters verf\u00fcgt, erfordert die Einf\u00fcgung einer zus\u00e4tzlichen Entit\u00e4t eine detaillierte Untersuchung und wirtschaftliche Rechtfertigung.<\/p>\n<p><\/p>\n<p>Das Thema reaktive verteilte Anwendungen ist recht umfangreich. Um im Format eines Artikels zu bleiben, wird sich die heutige Diskussion nur auf homogene Umgebungen konzentrieren, die auf Erlang\/Elixir basieren. Das \u00d6kosystem Erlang\/OTP erm\u00f6glicht die Implementierung einer reaktiven Architektur mit minimalem Aufwand. Aber in jedem Fall ben\u00f6tigen wir eine Kommunikationsschicht. <\/p>\n<p><\/p>\n<h2 id=\"teoreticheskiy-bazis\">Theoretische Grundlagen<\/h2>\n<p><\/p>\n<p>Das Design beginnt mit der Definition von Zielen und Beschr\u00e4nkungen. Das Hauptziel liegt nicht im Bereich der Entwicklung um der Entwicklung willen. Wir ben\u00f6tigen ein sicheres und skalierbares Werkzeug, auf dessen Grundlage moderne Anwendungen unterschiedlichen Niveaus erstellt werden k\u00f6nnen und, was am wichtigsten ist, weiterentwickelt werden k\u00f6nnen: beginnend bei Ein-Server-Anwendungen, die eine kleine Zielgruppe bedienen und sich sp\u00e4ter zu Clustern von bis zu 50-60 Knoten entwickeln k\u00f6nnen, bis hin zu F\u00f6derationen von Clustern. Daher besteht das Hauptziel darin, den Gewinn durch Senkung der Entwicklungskosten und der Eigentumskosten 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>C<\/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>aschinenf\u00e4higkeit.<br \/>\nEinzelbl\u00f6cke k\u00f6nnen sowohl vertikal als auch horizontal skaliert werden. Das gesamte System sollte in der Lage sein, unbegrenzt horizontal zu wachsen;<\/li>\n<li><strong>O<\/strong>rdnungssicherheit.<br \/>\nAlle Ebenen und alle Dienste m\u00fcssen in der Lage sein, sich bei Ausf\u00e4llen automatisch wiederherzustellen;<\/li>\n<li><strong>G<\/strong>arantierte Reaktionszeit.<br \/>\nZeit ist wertvoll, und Benutzer sollten nicht zu lange warten m\u00fcssen.<\/li>\n<\/ul>\n<p><\/p>\n<p>Erinnern Sie sich an das alte M\u00e4rchen \u00fcber \"Die kleine Lokomotive, die es konnte\"? Damit das entstehende System erfolgreich aus der Prototyp-Phase herauskommt und fortschrittlich ist, muss sein Fundament die Mindestanforderungen erf\u00fcllen. <strong>KONNTE<\/strong>.<\/p>\n<p><\/p>\n<p>Dem Messaging als Infrastrukturwerkzeug und Basis f\u00fcr alle Dienste wird ein weiterer Punkt hinzugef\u00fcgt: Benutzerfreundlichkeit f\u00fcr Programmierer.<\/p>\n<p><\/p>\n<h3 id=\"orientirovannost-na-sobytiya\">Ereignisorientierung<\/h3>\n<p><\/p>\n<p>Damit die Anwendung von einer <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> zu einem Cluster wachsen kann, muss ihre Architektur eine schwache Kopplung gew\u00e4hrleisten. Dieses Kriterium erf\u00fcllt das asynchrone Modell. Darin k\u00fcmmern sich Sender und Empf\u00e4nger um die Informationslast der Nachricht und machen sich keine Gedanken \u00fcber \u00dcbertragung und Routing innerhalb des Systems.<\/p>\n<p><\/p>\n<h3 id=\"masshtabiruemost\">Skalierbarkeit<\/h3>\n<p><\/p>\n<p>Skalierbarkeit und Effizienz des Systems stehen in engem Zusammenhang. Die Anwendungsbestandteile m\u00fcssen in der Lage sein, alle verf\u00fcgbaren Ressourcen zu nutzen. Je effektiver wir die Kapazit\u00e4ten nutzen k\u00f6nnen und je optimierter unsere Verarbeitungsmethoden sind, desto weniger Geld geben wir f\u00fcr Hardware aus. <\/p>\n<p><\/p>\n<p>Innerhalb einer Maschine schafft Erlang eine hochkonkurrierende Umgebung. Das Gleichgewicht zwischen Konkurrenz und Parallelit\u00e4t kann durch die Auswahl der Anzahl der Betriebssystemthreads, die f\u00fcr die Erlang-VM verf\u00fcgbar sind, 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 erm\u00f6glicht eine vergleichsweise niedrige Latenz und eine h\u00f6here Durchsatzrate als traditionelle Anwendungen, die auf blockierender Synchronisation basieren. Der Erlang-Scheduler sorgt f\u00fcr eine faire Verteilung von CPU und IO, und das Fehlen von Sperren erm\u00f6glicht es der Anwendung, selbst in Spitzenlastzeiten oder bei Ausf\u00e4llen zu reagieren. <\/p>\n<p><\/p>\n<p>Auf Clusterebene besteht ebenfalls ein Problem mit der Ressourcennutzung. Es ist wichtig, dass alle Maschinen im Cluster gleichm\u00e4\u00dfig ausgelastet sind und das Netzwerk nicht \u00fcberlastet wird. Stellen wir uns eine Situation vor: Der Nutzerverkehr landet bei den eingehenden Load Balancern (haproxy, nginx usw.), die die Anfragen m\u00f6glichst gleichm\u00e4\u00dfig auf eine Reihe verf\u00fcgbarer Backends verteilen. Innerhalb der Anwendungsinfrastruktur ist der Dienst, der die erforderliche Schnittstelle bereitstellt, nur die letzte Meile, und er muss eine Reihe anderer Dienste anfragen, um die urspr\u00fcngliche Anfrage zu beantworten. Interne Anfragen erfordern ebenfalls Routing und Lastverteilung.<br \/>\nUm Datenstr\u00f6me effektiv zu verwalten, sollte Messaging den Entwicklern eine Schnittstelle zur Verf\u00fcgung stellen, um das Routing und die Lastverteilung zu steuern. Dadurch k\u00f6nnen die Entwickler mithilfe von Mikroservice-Architekturen (Aggregator, Proxy, Chain, Branch usw.) sowohl Standardaufgaben als auch seltene Probleme l\u00f6sen. <\/p>\n<p><\/p>\n<p>Aus gesch\u00e4ftlicher Sicht ist Skalierbarkeit eines der Instrumente des Risikomanagements. Das Hauptziel ist es, die Anforderungen der Kunden zu erf\u00fcllen und dabei die Hardware optimal zu nutzen:<\/p>\n<p><\/p>\n<ul>\n<li>Durch die Steigerung der Hardwareleistung infolge des Fortschritts wird diese nicht aufgrund von Softwareunzul\u00e4nglichkeiten ungenutzt bleiben. Erlang l\u00e4sst sich hervorragend vertikal skalieren und kann immer alle CPU-Kerne und den verf\u00fcgbaren Speicher auslasten;<\/li>\n<li>In Bezug auf Cloud-Umgebungen k\u00f6nnen wir die Menge der Hardware je nach aktueller oder vorhergesagter Last verwalten und SLA garantieren.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"otkazoustoychivost\">Fehlertoleranz<\/h3>\n<p><\/p>\n<p>Betrachten wir zwei Axiome: \u201eAusf\u00e4lle sind nicht akzeptabel\u201c und \u201eAusf\u00e4lle werden immer vorkommen\u201c. F\u00fcr das Gesch\u00e4ft bedeutet ein Softwareausfall Geldverlust und, was noch schlimmer ist, einen Reputationsverlust. Indem man zwischen m\u00f6glichen Verlusten und den Kosten f\u00fcr die Entwicklung ausfallsicherer Software balanciert, findet man oft einen Kompromiss.<\/p>\n<p><\/p>\n<p>Kurzfristig spart eine Architektur, die die Ausfallsicherheit ber\u00fccksichtigt, Geld beim Kauf fertiger Clusterl\u00f6sungen. Diese sind teuer und enthalten ebenfalls Fehler.<br \/>\nLangfristig amortisiert sich eine ausfallsichere Architektur vielfach in allen Phasen der Entwicklung.<br \/>\nDie Messaging-Funktion innerhalb des Codes befindet sich noch in der Entwicklungsphase und erm\u00f6glicht eine detaillierte Ausarbeitung der Interaktion der Komponenten innerhalb des Systems. Dadurch wird die Aufgabe der Reaktion und des Fehlermanagements vereinfacht, da alle verantwortlichen Komponenten Fehler verarbeiten und das Gesamtsystem wei\u00df, wie es nach einem Fehler automatisch zum Normalzustand zur\u00fcckkehren kann, gem\u00e4\u00df dem Design.<\/p>\n<p><\/p>\n<h3 id=\"otzyvchivost\">Reaktionsf\u00e4higkeit<\/h3>\n<p><\/p>\n<p>Unabh\u00e4ngig von Fehlern muss die Anwendung auf Anfragen reagieren und die SLA erf\u00fcllen. Die Realit\u00e4t ist, dass die Menschen nicht warten m\u00f6chten, daher muss sich das Gesch\u00e4ft anpassen. Von immer mehr Anwendungen wird hohe Reaktionsf\u00e4higkeit erwartet.<br \/>\nReaktionsf\u00e4hige Anwendungen arbeiten in einem nahezu Echtzeitmodus. Die Erlang VM funktioniert im Modus der weichen Echtzeit. F\u00fcr bestimmte Bereiche wie den B\u00f6rsenhandel, die Medizin und das Management von Industrieanlagen ist der Modus der harten Echtzeit wichtig.<br \/>\nReaktionsf\u00e4hige Systeme verbessern das Benutzererlebnis und sind f\u00fcr Unternehmen n\u00fctzlich.<\/p>\n<p><\/p>\n<h2 id=\"predvaritelnyy-itog\">Vorl\u00e4ufiges Ergebnis<\/h2>\n<p><\/p>\n<p>Bei der Planung dieses Artikels wollte ich meine Erfahrungen beim Erstellen eines Nachrichtenaustausch-Brokers und beim Aufbau komplexer Systeme darauf basierend teilen. Aber der theoretische und motivationale Teil wurde ziemlich umfangreich.<br \/>\nIm zweiten Teil des Artikels werde ich \u00fcber die Feinheiten der Implementierung von Austauschpunkten, Austauschmustern und deren Anwendung sprechen.<br \/>\nIm dritten Teil werden wir allgemeine Fragen zur Organisation von Diensten, zur Routenf\u00fchrung und zur Lastverteilung betrachten. 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 5.0.1.1 - aioseo.com -->\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) 5.0.1.1\" \/>\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: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 von verteilten Anwendungen. Nullann\u00e4herung | ProHoster","description":"","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: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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}