2016-11-23 5 views
6

Consul Service-Definition json ist alsUnterschied zwischen Consul-Service-Definition-Adresse und Service Adresse

{ 
    "Address": "192.168.10.10", 
    "TaggedAddresses": { 
     "lan": "192.168.10.10", 
     "wan": "10.0.10.10" 
    }, 
    "CreateIndex": 51, 
    "ModifyIndex": 51, 
    "Node": "foobar", 
    "ServiceAddress": "172.17.0.3", 
    "ServiceEnableTagOverride": false, 
    "ServiceID": "32a2a47f7992:nodea:5000", 
    "ServiceName": "foobar", 
    "ServicePort": 5000, 
    "ServiceTags": [ 
     "tacos" 
    ] 
} 

nun gemäß der bei https://www.consul.io/docs/agent/http/catalog.html#catalog_service

die Definition von Adresse und Serviceadresse versehen Dokumentation folgt lautet wie folgt:

  1. Adresse: IP-Adresse des Consul-Knotens, auf dem sich der Dienst befindet registriert
  2. Serviceadresse: IP-Adresse des Service-Host - wenn leer, Knoten Adresse sollte

A. Bedeutet dies Adresse ist die Adresse des Konsuls Serverknoten und Dienstadresse ist Adresse verwendet werden der Knoten, auf dem sich der Dienst befindet?

ODER

B. Bedeutet dies, Adresse die Adresse des Konsuls Agent ist mit dem Service wohnen. Wenn dies der Fall ist, sind die Adresse und die Serviceadresse identisch?

Welches der obigen ist richtig?

Antwort

3

Ich nehme an, dass Adresse die Adresse des Konsulagenten ist und ServiceAddress die Adresse ist, die für den Zugriff auf diesen Dienst verwendet wird. Dies können die gleichen Adressen sein, sie können sich aber auch unterscheiden.

Sie können beispielsweise einen einzelnen Host mit einer Reihe von Schnittstellen einrichten, von denen eine dazu dient, Konsulagenten miteinander interagieren zu lassen, und eine weitere, um auf Ihren Dienst zuzugreifen.

Oder Sie können einen einzelnen Knoten mit einer Anzahl von Microservices mit Docker bereitgestellt haben. Sie können einen einzelnen Consul-Agenten mit der Adresse dieses Knotens starten und eine Anzahl von Microservices registrieren, die in Containern ausgeführt werden und über interne Container-IP-Adressen miteinander kommunizieren. In diesem Fall erhalten Sie Service-Informationen, wobei Adresse der IP des Knotens entspricht und ServiceAddress der IP des Containers mit Service entspricht.

+0

Danke für die Erklärung @Stainslav – Swapnil17

Verwandte Themen