{"id":56387,"date":"2020-02-12T00:00:00","date_gmt":"2020-02-11T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/service-discovery-v-raspredelennyh-sistemah-na-primere-consul-aleksandr-sigachev"},"modified":"2020-02-18T14:04:39","modified_gmt":"2020-02-18T11:04:39","slug":"service-discovery-v-raspredelennyh-sistemah-na-primere-consul-aleksandr-sigachev","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/service-discovery-v-raspredelennyh-sistemah-na-primere-consul-aleksandr-sigachev","title":{"rendered":"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><strong>Ich lade Sie ein, die Auswertung des Berichts von Alexander Sigachev \u00fcber Service Discovery in verteilten Systemen am Beispiel von Consul zu lesen.<\/strong><\/p>\n<p><\/p>\n<p>Service Discovery wurde entwickelt, um neue Anwendungen mit minimalem Aufwand in unsere bestehende Umgebung zu integrieren. Mit Service Discovery k\u00f6nnen wir entweder einen Container in Form von Docker oder einen virtuellen Dienst vom Umfeld, in dem er betrieben wird, maximal isolieren. <\/p>\n<p>\n<center><div class=\"youtube-placeholder\" data-id=\"IYWsZ8HFrCw\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/IYWsZ8HFrCw\/hqdefault.jpg\" alt=\"Video abspielen\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Ich begr\u00fc\u00dfe alle! Ich bin Alexander Sigachev und arbeite bei Inventos. Heute m\u00f6chte ich Ihnen das Konzept des Service Discovery n\u00e4herbringen. Wir werden Service Discovery am Beispiel von Consul betrachten.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/8078ef6ee7af4e52e977deed5f1f42ab.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Welche Probleme l\u00f6st Service Discovery? Service Discovery wurde entwickelt, um neue Anwendungen mit minimalem Aufwand in unsere bestehende Umgebung zu integrieren. Mit Service Discovery k\u00f6nnen wir entweder einen Container in Form von Docker oder einen virtuellen Dienst vom Umfeld, in dem er betrieben wird, maximal isolieren. <\/p>\n<p><\/p>\n<p>Wie sieht das aus? Ein klassisches Beispiel im Web \u2013 das Frontend, das die Anfragen des Nutzers entgegennimmt. Danach wird die Anfrage an das Backend weitergeleitet. In diesem Beispiel balanciert ein Load-Balancer zwischen zwei Backends.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/10d23c4c51543161fc2034145776461b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Hier sehen wir, dass wir eine dritte Instanz der Anwendung starten. Wenn die Anwendung gestartet wird, registriert sie sich bei Service Discovery. Service Discovery informiert den Load-Balancer. Der Load-Balancer \u00e4ndert seine Konfiguration automatisch, und die neue Backend ist damit in Betrieb. So k\u00f6nnen Backend-Instanzen hinzugef\u00fcgt oder umgekehrt aus dem Betrieb genommen werden.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/88a768894d79449ffb06fbbfa5cd32a8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Was kann man noch bequem mit Service Discovery tun? In Service Discovery k\u00f6nnen Konfigurationen von nginx, Zertifikate und die Liste aktiver Backend-Server gespeichert werden.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/8ebfb5f1c8cf44999904159af9695da9.jpeg\" style=\"display:block;margin: 0 auto;\" \/>Service Discovery erm\u00f6glicht es auch, Fehler zu erkennen und Ausf\u00e4lle festzustellen. Welche m\u00f6glichen Strategien gibt es zur Fehlererkennung?<\/p>\n<p><\/p>\n<ul>\n<li>Diese Anwendung, die wir entwickelt haben, informiert selbst Service Discovery dar\u00fcber, dass sie weiterhin funktionsf\u00e4hig ist. <\/li>\n<li>Service Discovery \u00fcberpr\u00fcft seinerseits, ob die Anwendung verf\u00fcgbar ist.<\/li>\n<li>Alternativ kann ein externes Skript oder eine Anwendung verwendet werden, die unsere Anwendung auf Erreichbarkeit \u00fcberpr\u00fcft und Service Discovery mitteilt, dass alles in Ordnung ist und gearbeitet werden kann, oder umgekehrt, dass alles schlecht ist und diese Instanz der Anwendung aus dem Load-Balancing ausgeschlossen werden muss.<\/li>\n<\/ul>\n<p><\/p>\n<p>Jedes dieser Modelle kann je nach verwendeter Software angewendet werden. Wenn wir beispielsweise mit einem neuen Projekt beginnen, k\u00f6nnen wir problemlos ein Modell implementieren, bei dem unsere Anwendung Service Discovery benotet. Alternativ k\u00f6nnen wir auch Service Discovery daf\u00fcr nutzen, um Pr\u00fcfungen durchzuf\u00fchren.<\/p>\n<p><\/p>\n<p>Handelt es sich jedoch um eine Anwendung, die wir geerbt haben oder die von einem Drittanbieter entwickelt wurde, ist die dritte Option relevant. In diesem Fall schreiben wir einen Handler, und alles wird automatisch in unsere Arbeitsabl\u00e4ufe integriert.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/ce4c5b452d526058b552a65926b9de58.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ein Beispiel daf\u00fcr ist der Load-Balancer, der als nginx fungiert und neu gestartet werden kann. Dies ist ein zus\u00e4tzliches Tool, das zusammen mit Consul bereitgestellt wird: consul-template. Wir definieren eine Regel und nutzen eine Vorlage (Golang-Template). Wenn Ereignisse eintreten und Benachrichtigungen \u00fcber \u00c4nderungen erfolgen, wird es neu generiert, und Service Discovery erh\u00e4lt den Befehl \u201ereload\u201c. Ein einfaches Beispiel, bei dem nginx bei einem Ereignis neu konfiguriert und neu gestartet wird.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/d829f882a52c97420750893f78bacc18.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Was ist Consul?<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>Zun\u00e4chst einmal ist es Service Discovery. <\/p>\n<p>\n<\/li>\n<li>\n<p>Es verf\u00fcgt \u00fcber einen Verf\u00fcgbarkeitspr\u00fcfmechanismus \u2013 Health Checking.<\/p>\n<p>\n<\/li>\n<li>\n<p>Au\u00dferdem gibt es einen KV Store.<\/p>\n<p>\n<\/li>\n<li>\n<p>Seine Grundlage ist die M\u00f6glichkeit, Multi-Datacenter zu verwenden.<\/p>\n<p>\n<\/li>\n<\/ul>\n<p><\/p>\n<p>Wof\u00fcr kann das alles genutzt werden? Im KV Store k\u00f6nnen wir Konfigurationsbeispiele speichern. Mit Health Checking k\u00f6nnen wir den lokalen Dienst \u00fcberpr\u00fcfen und Benachrichtigungen senden. Multi Datacenter wird verwendet, um eine Karte der Dienste zu erstellen. Zum Beispiel hat Amazon mehrere Zonen und leitet den Verkehr optimiert, damit es keine zus\u00e4tzlichen Anfragen zwischen den Rechenzentren gibt, die separat von lokalem Traffic abgerechnet werden und daher eine geringere Latenz aufweisen. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/7594fcb0dfd05193d95214d9694c39e8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Lass uns ein wenig mit den Begriffen vertraut machen, die in Consul verwendet werden. <\/p>\n<p><\/p>\n<ul>\n<li>Consul ist ein Dienst, der in Go geschrieben wurde. Ein Vorteil von Programmen in Go ist die Existenz einer einzigen Bin\u00e4rdatei, die du einfach herunterl\u00e4dst. Du kannst sie \u00fcberall ausf\u00fchren, ohne Abh\u00e4ngigkeiten. <\/li>\n<li>Anschlie\u00dfend k\u00f6nnen wir diesen Dienst mithilfe von Schl\u00fcsseln entweder im Client-Modus oder im Server-Modus starten. <\/li>\n<li>Das Attribut \u201edatacenter\u201c erlaubt es auch, ein Flag zu setzen, zu welchem Rechenzentrum dieser Server geh\u00f6rt. <\/li>\n<li>Consensus \u2013 basiert auf dem Raft-Protokoll. Interessierte k\u00f6nnen auf der Website von Consul mehr dar\u00fcber lesen. Dieses Protokoll erm\u00f6glicht es, einen Leader zu bestimmen und festzulegen, welche Daten als g\u00fcltig und verf\u00fcgbar gelten.<\/li>\n<li>Gossip \u2013 ist ein Protokoll, das die Interaktion zwischen den Knoten gew\u00e4hrleistet. Dabei handelt es sich um ein dezentrales System. Innerhalb eines Rechenzentrums kommunizieren alle Knoten mit ihren Nachbarn. Dadurch wird Informationen \u00fcber den aktuellen Status ausgetauscht. Man k\u00f6nnte sagen, es handelt sich um Klatsch zwischen den Nachbarn. <\/li>\n<li>LAN Gossip \u2013 lokaler Datenaustausch zwischen Nachbarn innerhalb eines Rechenzentrums. <\/li>\n<li>WAN Gossip \u2013 wird verwendet, wenn wir Informationen zwischen zwei Rechenzentren synchronisieren m\u00fcssen. Die Informationen werden zwischen den als Server markierten Knoten \u00fcbertragen. <\/li>\n<li>RPC \u2013 erm\u00f6glicht das Ausf\u00fchren von Anfragen \u00fcber einen Client an den Server. <\/li>\n<\/ul>\n<p><\/p>\n<p>RPC-Beschreibung. Angenommen, auf einer virtuellen Maschine oder einem physischen Server l\u00e4uft Consul als Client. Wir greifen lokal darauf zu. Der lokale Client fragt dann Informationen vom Server an und synchronisiert sich. Je nach Einstellungen kann die Information aus dem lokalen Cache ausgegeben werden oder sie wird mit dem Leader, dem Master-Server, synchronisiert. <\/p>\n<p><\/p>\n<p>Diese beiden Modelle haben sowohl Vorteile als auch Nachteile. Wenn wir mit dem lokalen Cache arbeiten, ist das schnell. Wenn wir jedoch mit Daten arbeiten, die auf dem Server gespeichert sind, dauert es l\u00e4nger, bietet aber genauere Informationen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/6ab034093708c0b1739af21015e50742.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Grafisch dargestellt sieht die Seite so aus. Wir sehen, dass drei Master laufen. Einer ist mit einem Stern als Leader gekennzeichnet. In diesem Beispiel gibt es drei Clients, die lokal \u00fcber UDP\/TCP Informationen austauschen. Die Informationen zwischen den Rechenzentren werden zwischen den Servern \u00fcbertragen. Hier interagieren die Clients lokal miteinander. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/24a8f749195447c54e4405ad0be5728e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Welche APIs bietet Consul an? Um Informationen zu erhalten, gibt es zwei Arten von APIs bei Consul.<\/p>\n<p><\/p>\n<p>Das ist die DNS API. Standardm\u00e4\u00dfig l\u00e4uft Consul auf Port 8600. Wir k\u00f6nnen die Anfrageproxies konfigurieren und den Zugriff \u00fcber lokale Aufl\u00f6sung erm\u00f6glichen, also \u00fcber den lokalen DNS. Wir k\u00f6nnen eine Abfrage \u00fcber die Domain durchf\u00fchren und erhalten als Antwort Informationen zur IP-Adresse.<\/p>\n<p><\/p>\n<p>Die HTTP API \u2013 wir k\u00f6nnen lokal \u00fcber Port 8500 Informationen zu einem bestimmten Dienst anfordern und erhalten eine JSON-Antwort, die die IP-Adresse des Servers, den Host und den registrierten Port enth\u00e4lt. Zus\u00e4tzlich k\u00f6nnen weitere Informationen \u00fcber ein Token \u00fcbermittelt werden.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/6af7cc95a392c5d2fe278131245b8f5d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Was ben\u00f6tigen wir, um Consul zu starten?<\/p>\n<p><\/p>\n<p>Im ersten Fall starten wir im Entwicklermodus und setzen ein Flag, dass es sich um den Entwicklermodus handelt. Der Agent l\u00e4uft als Server. Und alle Funktionen werden bereits eigenst\u00e4ndig auf einer Maschine ausgef\u00fchrt. Praktisch, schnell und es sind kaum zus\u00e4tzliche Einstellungen f\u00fcr den ersten Start erforderlich.<\/p>\n<p><\/p>\n<p>Der zweite Modus ist der Produktionsstart. Hier wird der Start etwas komplizierter. Wenn wir keine Version des Konsuls haben, m\u00fcssen wir die erste Maschine im Bootstrap hochfahren, also diese Maschine, die die Rolle des Leaders \u00fcbernimmt. Wir starten sie, dann starten wir die zweite Serverinstanz und \u00fcbergeben ihr die Informationen, wo sich der Master befindet. Die dritte wird dann hochgefahren. Nachdem wir drei Maschinen aktiviert haben, starten wir die erste Maschine aus dem gestarteten Bootstrap neu im normalen Modus. Die Daten werden synchronisiert und das initiale Cluster ist bereits hochgefahren. <\/p>\n<p><\/p>\n<p>Es wird empfohlen, zwischen drei und sieben Instanzen im Servermodus zu starten. Dies liegt daran, dass bei einer Erh\u00f6hung der Anzahl der Server die Zeit f\u00fcr die Synchronisierung der Informationen zwischen diesen steigt. Die Anzahl der Knoten sollte ungerade sein, um ein Quorum zu gew\u00e4hrleisten. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/6d0a230bd31980d78e73041cbac3496f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Wie werden die Health Checks sichergestellt? Im Konfigurationsverzeichnis f\u00fcr Consul schreiben wir in Form von JSON eine Pr\u00fcfvorschrift. Die erste Variante ist die Erreichbarkeit, in diesem Beispiel der Domain google.com. Wir geben an, dass alle 30 Sekunden diese Pr\u00fcfung durchgef\u00fchrt werden soll. So \u00fcberpr\u00fcfen wir, dass unser Knoten Zugang zum externen Netzwerk hat.<\/p>\n<p><\/p>\n<p>Die zweite Option besteht darin, sich selbst zu \u00fcberpr\u00fcfen. Wir verwenden ein einfaches curl, um localhost alle 10 Sekunden am angegebenen Port abzufragen. <\/p>\n<p><\/p>\n<p>Diese \u00dcberpr\u00fcfungen werden summiert und an die Service Discovery weitergeleitet. Basierend auf der Verf\u00fcgbarkeit werden diese Knoten entweder ausgeschlossen oder erscheinen in der Liste der verf\u00fcgbaren und ordnungsgem\u00e4\u00df funktionierenden Maschinen. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/551d98ded7111f48afd0a6406b83cba0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Zus\u00e4tzlich bietet Consul eine UI-Oberfl\u00e4che, die mit einem speziellen Start-Flag gestartet wird und auf der Maschine verf\u00fcgbar ist. Dies erm\u00f6glicht es, Informationen einzusehen und einige \u00c4nderungen vorzunehmen. <\/p>\n<p><\/p>\n<p>In diesem Beispiel ist der Tab \"Service\" ge\u00f6ffnet. Es wird angezeigt, dass drei Dienste ausgef\u00fchrt werden, einer davon ist Consul. Die Anzahl der durchgef\u00fchrten Pr\u00fcfungen und es sind drei Rechenzentren vorhanden, in denen sich die Maschinen befinden.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev\" src=\"\/wp-content\/uploads\/2020\/02\/cd684146191a7b262df76d1b88f7df7c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dies ist ein Beispiel f\u00fcr den Tab \"Nodes\". Wir sehen, dass sie zusammengesetzte Namen mit Bezug auf die Rechenzentren haben. Hier wird auch angezeigt, welche Dienste running sind, d.h. wir sehen, dass keine Tags festgelegt sind. In diesen zus\u00e4tzlichen Tags k\u00f6nnen Informationen angegeben werden, die der Entwickler nutzen kann, um zus\u00e4tzliche Parameter festzulegen. <\/p>\n<p><\/p>\n<p>Es ist auch m\u00f6glich, Informationen an Consul \u00fcber den Zustand der Festplatten und die durchschnittliche Auslastung zu \u00fcbermitteln.<\/p>\n<p><\/p>\n<p>Fragen<\/p>\n<p><\/p>\n<p>Frage: Wir haben einen Docker-Container. Wie verwenden wir ihn mit Consul?<\/p>\n<p><\/p>\n<p>Antwort: F\u00fcr den Docker-Container gibt es mehrere Ans\u00e4tze. Einer der g\u00e4ngigsten ist die Verwendung eines externen Docker-Containers, der f\u00fcr die Registrierung verantwortlich ist. Beim Start wird ihm der Socket des Docker-Containers \u00fcbergeben. Alle Ereignisse zur Registrierung und Deregistrierung des Containers werden in Consul eingetragen.<\/p>\n<p><\/p>\n<p>Frage: Hei\u00dft das, Consul startet selbst den Docker-Container?<\/p>\n<p><\/p>\n<p>Antwort: Nein. Wir starten den Docker-Container. Bei der Konfiguration geben wir an, dass er einen bestimmten Socket \u00fcberwachen soll. Das funktioniert \u00e4hnlich wie bei einem Zertifikat, wenn wir Informationen \u00fcbermitteln, wo und was wir gespeichert haben. <\/p>\n<p><\/p>\n<p>Frage: Bedeutet das, dass im Docker-Container, den wir mit Service Discovery verbinden m\u00f6chten, eine Logik vorhanden sein muss, die Daten an Consul \u00fcbergeben kann?<\/p>\n<p><\/p>\n<p>Antwort: Nicht ganz. Wenn er startet, \u00fcbergeben wir \u00fcber Umgebungsvariablen Variablen. Zum Beispiel den Servicenamen, den Serviceport. Das Register h\u00f6rt auf diese Informationen und tr\u00e4gt sie in Consul ein.<\/p>\n<p><\/p>\n<p>Frage: Ich habe noch eine Frage zur Benutzeroberfl\u00e4che. Wir haben die UI auf einem Produktionsserver bereitgestellt. Wie steht es um die Sicherheit? Wo werden die Daten gespeichert? Gibt es eine M\u00f6glichkeit, die Daten zu akkumulieren?<\/p>\n<p><\/p>\n<p>Antwort: Im UI kommen die Daten direkt aus der Datenbank und aus dem Service Discovery. Die Passw\u00f6rter legen wir selbst in den Einstellungen fest. <\/p>\n<p><\/p>\n<p>Frage: Kann man das im Internet ver\u00f6ffentlichen?<\/p>\n<p><\/p>\n<p>Antwort: Standardm\u00e4\u00dfig startet Consul auf localhost. Um es im Internet zu ver\u00f6ffentlichen, ben\u00f6tigen wir einen Proxy. F\u00fcr die Sicherheitsregeln sind wir selbst verantwortlich.<\/p>\n<p><\/p>\n<p>Frage: Liefert es von Haus aus historische Daten? Es w\u00e4re interessant, Statistiken zu den Health Checks zu sehen. Man k\u00f6nnte Probleme diagnostizieren, wenn der Server oft ausf\u00e4llt.<\/p>\n<p><\/p>\n<p>Antwort: Ich bin mir nicht sicher, ob dort Details zu den Checks vorhanden sind. <\/p>\n<p><\/p>\n<p>Frage: Es ist nicht so wichtig, wie der aktuelle Zustand ist, sondern vielmehr die Dynamik.<\/p>\n<p><\/p>\n<p>Antwort: F\u00fcr die Analyse \u2013 ja.<\/p>\n<p><\/p>\n<p>Frage: Sollte man Service Discovery f\u00fcr Docker Consul besser nicht verwenden?<\/p>\n<p><\/p>\n<p>Antwort: Ich w\u00fcrde nicht empfehlen, es zu verwenden. Ziel des Vortrags ist es, das Konzept vorzustellen. Historisch hat es meines Wissens bis zur Version 1 einen Weg zur\u00fcckgelegt. Heute gibt es bereits umfassendere L\u00f6sungen, wie Kubernetes, das all das im Hintergrund hat. Im Rahmen von Kubernetes steht Service Discovery hinter Etcd zur\u00fcck. Aber ich bin nicht so vertraut mit Etcd wie mit Consul. Daher habe ich mich entschieden, Service Discovery am Beispiel von Consul zu erkl\u00e4ren.<\/p>\n<p><\/p>\n<p>Frage: Verz\u00f6gert das Leader-Server-Schema den Start der Anwendung insgesamt? Und wie bestimmt Consul einen neuen Leader, wenn dieser ausgefallen ist?<\/p>\n<p><\/p>\n<p>Antwort: Es gibt ein ausformulierter Protokoll daf\u00fcr. Falls es interessant ist, kann man dar\u00fcber lesen.<\/p>\n<p><\/p>\n<p>Frage: Agiert Consul bei uns als vollst\u00e4ndiger Server, und laufen alle Anfragen \u00fcber ihn?<\/p>\n<p><\/p>\n<p>Antwort: Er funktioniert nicht als vollst\u00e4ndiger Server, sondern deckt einen bestimmten Bereich ab. Dieser endet in der Regel mit service.consul. Und danach folgen wir der Logik. In der Produktion verwenden wir keine Domainnamen, sondern die interne Infrastruktur, die normalerweise hinter dem Server-Caching verborgen ist, wenn wir \u00fcber DNS arbeiten.<\/p>\n<p><\/p>\n<p>Frage: Das bedeutet also, dass wir, wenn wir auf die Datenbank zugreifen wollen, immer zuerst Consul abfragen m\u00fcssen, richtig?<\/p>\n<p><\/p>\n<p>Antwort: Ja. Wenn wir \u00fcber DNS arbeiten, funktioniert das auch ohne Consul, wenn wir DNS-Namen verwenden. Moderne Anwendungen greifen nicht bei jeder Anfrage auf den Domainnamen zu, da wir die Verbindung hergestellt haben, und es funktioniert. In naher Zukunft verwenden wir es kaum. Wenn die Verbindung jedoch abbricht, fragen wir erneut, wo sich unsere Datenbank befindet und gehen zu ihr.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/ru_hashicorp\">Chat zum Produkt von Hashicorp<\/a><\/noindex> \u2014 Hashicorp-Benutzer-Chat: Consul, Nomad, Terraform<\/p>\n<p><\/p>\n<p>P.S. Zum Thema Health Checks: In Consul, wie auch in Kubernetes, wird ein \u00e4hnliches System zur \u00dcberpr\u00fcfung der Verf\u00fcgbarkeit von Diensten auf Basis des Statuscodes verwendet.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">200 OK f\u00fcr verf\u00fcgbar\n503 Dienst nicht verf\u00fcgbar f\u00fcr nicht verf\u00fcgbar<\/code><\/pre>\n<p><\/p>\n<p>Quellen:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.consul.io\/docs\/agent\/checks.html\">https:\/\/www.consul.io\/docs\/agent\/checks.html<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-startup-probes\/\">https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-startup-probes\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/thoslin.github.io\/microservice-health-check-in-kubernetes\/\">https:\/\/thoslin.github.io\/microservice-health-check-in-kubernetes\/<\/a><\/noindex><\/p>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/487706\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u0421\u0438\u0433\u0430\u0447\u0435\u0432\u0430 Service Discovery \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 Consul. Service Discovery \u0441\u043e\u0437\u0434\u0430\u043d \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u0430\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043d\u0430\u0448\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Service Discovery, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0432 \u0432\u0438\u0434\u0435 \u0434\u043e\u043a\u0435\u0440\u0430, \u043b\u0438\u0431\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0442 \u0442\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d \u0437\u0430\u043f\u0443\u0449\u0435\u043d. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-56387","post","type-post","status-publish","format-standard","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=\"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u0421\u0438\u0433\u0430\u0447\u0435\u0432\u0430 Service Discovery \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 Consul. Service Discovery \u0441\u043e\u0437\u0434\u0430\u043d \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u0430\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043d\u0430\u0448\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Service Discovery, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0432 \u0432\u0438\u0434\u0435 \u0434\u043e\u043a\u0435\u0440\u0430, \u043b\u0438\u0431\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0442 \u0442\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d \u0437\u0430\u043f\u0443\u0449\u0435\u043d.\" \/>\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\/service-discovery-v-raspredelennyh-sistemah-na-primere-consul-aleksandr-sigachev\" \/>\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\udd47Service Discovery \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 Consul. \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u0438\u0433\u0430\u0447\u0435\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u0421\u0438\u0433\u0430\u0447\u0435\u0432\u0430 Service Discovery \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 Consul. Service Discovery \u0441\u043e\u0437\u0434\u0430\u043d \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u0430\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043d\u0430\u0448\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Service Discovery, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0432 \u0432\u0438\u0434\u0435 \u0434\u043e\u043a\u0435\u0440\u0430, \u043b\u0438\u0431\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0442 \u0442\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d \u0437\u0430\u043f\u0443\u0449\u0435\u043d.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/service-discovery-v-raspredelennyh-sistemah-na-primere-consul-aleksandr-sigachev\" \/>\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=\"2020-02-11T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:04:39+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\udd47Service Discovery in verteilten Systemen am Beispiel von Consul. Alexander Sigachev | ProHoster","description":"Ich empfehle, die Zusammenfassung des Vortrags von Alexander Sigachev \u00fcber Service Discovery in verteilten Systemen am Beispiel von Consul zu lesen. Service Discovery wurde entwickelt, um neue Anwendungen mit minimalem Aufwand in unsere bestehende Umgebung zu integrieren. Durch die Nutzung von Service Discovery k\u00f6nnen wir Container in Form von Docker oder virtuelle Dienste maximal isolieren von der Umgebung, in der sie betrieben werden.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/service-discovery-v-raspredelennyh-sistemah-na-primere-consul-aleksandr-sigachev","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\udd47Service Discovery \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 Consul. \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0421\u0438\u0433\u0430\u0447\u0435\u0432 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u0421\u0438\u0433\u0430\u0447\u0435\u0432\u0430 Service Discovery \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 Consul. Service Discovery \u0441\u043e\u0437\u0434\u0430\u043d \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u0430\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043d\u0430\u0448\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Service Discovery, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0432 \u0432\u0438\u0434\u0435 \u0434\u043e\u043a\u0435\u0440\u0430, \u043b\u0438\u0431\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0442 \u0442\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d \u0437\u0430\u043f\u0443\u0449\u0435\u043d.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/service-discovery-v-raspredelennyh-sistemah-na-primere-consul-aleksandr-sigachev","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":"2020-02-11T21:00:00+00:00","article:modified_time":"2020-02-18T11:04:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"56387","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:25:40","updated":"2022-10-01 05:49:52"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/56387","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=56387"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/56387\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=56387"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=56387"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=56387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}