Wenn Unternehmen auf Microservices umsteigen, müssen sie Dutzende oder Hunderte von Anwendungen unterstützen. Die separate Verwaltung dieser Endpunkte bedeutet, dass viele virtuelle Maschinen oder VMs unterstützt werden, einschließlich der Nachfrage. Cluster-Software wie Kubernetes kann Pods erstellen und skalieren, bietet aber kein Routing, keine Verkehrsregeln, leistungsfähige Überwachungs- oder Debugging-Tools.
Geben Sie das Service Mesh ein.
Mit der zunehmenden Zahl von Diensten steigt auch die Zahl der möglichen Kommunikationswege exponentiell an. Zwei Services verfügen nur über zwei Kommunikationspfade. Drei Dienststellen haben sechs, während 10 Dienststellen 90 haben. Ein Service Mesh bietet eine einzige Möglichkeit, diese Kommunikationspfade zu konfigurieren, indem eine Richtlinie für die Kommunikation erstellt wird.
Ein Service Mesh instrumentiert die Dienste und leitet den Kommunikationsverkehr gemäß einer vordefinierten Konfiguration. Das bedeutet, dass ein Administrator statt einem laufenden Container zu konfigurieren (oder Code dafür zu schreiben) der Service Mesh die Konfiguration bereitstellen und es diese Arbeit erledigen lassen kann. Dies musste bisher immer mit Webservern und Service-to-Service-Kommunikation geschehen.
Die gebräuchlichste Methode, dies in einem Cluster zu tun, ist die Verwendung des Sidecar-Musters. Ein Sidecar ist ein neuer Container innerhalb des Pods, der den Kommunikationsverkehr zwischen Diensten und Containern leitet und beobachtet.