Komponenten verteilter Systeme - Implementierung von Microservices auf AWS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Komponenten verteilter Systeme

In einer Microservices-Architektur bezieht sich Service Discovery auf den Prozess der dynamischen Lokalisierung und Identifizierung der Netzwerkstandorte (IP-Adressen und Ports) einzelner Microservices innerhalb eines verteilten Systems.

Berücksichtigen Sie bei der Auswahl eines Ansatzes unter AWS anderem folgende Faktoren:

  • Codeänderung: Können Sie die Vorteile nutzen, ohne den Code zu ändern?

  • VPC- oder kontenübergreifender Verkehr: Benötigt Ihr System bei Bedarf ein effizientes Kommunikationsmanagement zwischen verschiedenen oder? VPCs AWS-Konten

  • Bereitstellungsstrategien: Verwendet Ihr System erweiterte Bereitstellungsstrategien wie Blue-Green- oder Canary-Implementierungen oder plant solche?

  • Überlegungen zur Leistung: Wenn Ihre Architektur häufig mit externen Diensten kommuniziert, welche Auswirkungen hat das auf die Gesamtleistung?

AWS bietet mehrere Methoden zur Implementierung von Service Discovery in Ihrer Microservices-Architektur:

  • Amazon ECS Service Discovery: Amazon ECS unterstützt Service Discovery mithilfe seiner DNS-basierten Methode oder durch Integration mit AWS Cloud Map (siehe ECS Service Discovery). ECS Service Connect verbessert das Verbindungsmanagement weiter, was besonders für größere Anwendungen mit mehreren interagierenden Diensten von Vorteil sein kann.

  • Amazon Route 53: Route 53 lässt sich in ECS und andere AWS Dienste wie EKS integrieren, um die Serviceerkennung zu erleichtern. In einem ECS-Kontext kann Route 53 die ECS Service Discovery-Funktion verwenden, die die Auto Naming API nutzt, um Dienste automatisch zu registrieren und zu deregistrieren.

  • AWS Cloud Map: Diese Option bietet eine dynamische API-basierte Serviceerkennung, die Änderungen an Ihren Diensten weitergibt.

Für anspruchsvollere Kommunikationsanforderungen ist Amazon VPC Lattice ein Anwendungsnetzwerk-Service, der die Kommunikation zwischen Ihren Services konsistent verbindet, überwacht und sichert und so zur Steigerung der Produktivität beiträgt, sodass sich Ihre Entwickler auf die Entwicklung von Funktionen konzentrieren können, die für Ihr Unternehmen von Bedeutung sind. Sie können Richtlinien für die Verwaltung, den Zugriff und die Überwachung des Netzwerkverkehrs definieren, um Rechendienste auf vereinfachte und konsistente Weise über Instances, Container und serverlose Anwendungen hinweg miteinander zu verbinden.

Falls Sie bereits Software von Drittanbietern wie HashiCorp Consul oder Netflix Eureka für die Diensterkennung verwenden, ziehen Sie es möglicherweise vor, diese bei der Migration weiter zu verwenden AWS, um einen reibungsloseren Übergang zu ermöglichen.

Die Wahl zwischen diesen Optionen sollte Ihren spezifischen Bedürfnissen entsprechen. Für einfachere Anforderungen könnten DNS-basierte Lösungen wie Amazon ECS oder Amazon ausreichend AWS Cloud Map sein. Für komplexere oder größere Systeme sind Service Meshes wie Amazon VPC Lattice möglicherweise besser geeignet.

Zusammenfassend lässt sich sagen, dass es beim Entwerfen einer Microservices-Architektur vor AWS allem darum geht, die richtigen Tools für Ihre spezifischen Anforderungen auszuwählen. Wenn Sie die besprochenen Überlegungen berücksichtigen, können Sie sicherstellen, dass Sie fundierte Entscheidungen treffen, um die Serviceerkennung und die Kommunikation zwischen den Diensten Ihres Systems zu optimieren.