Microservices mit Spring Boot und Spring Cloud

Veröffentlicht: 2020-09-04

Inhaltsverzeichnis

Einführung in Microservices

Microservices sind kleine, eigenständige Dienste, die zusammenarbeiten, um ein komplexes Geschäftsziel zu erreichen. Diese Dienste sind unabhängig und vollständig, sodass sie von verschiedenen Entwicklungsteams mit unterschiedlichen Programmiersprachen und Datenspeichern erstellt werden können. Microservices sind individuell skalierbar und können automatisiert bereitgestellt werden. Sie sind einfach zu warten und bieten im Vergleich zu monolithischen Diensten eine größere Fehlertoleranz. Dennoch sind sie lose gekoppelt und können miteinander interagieren, um die Ziele einer größeren Anwendung zu erreichen.

Auf dem Markt sind verschiedene Tools verfügbar, mit denen Sie Software mithilfe einer Microservices-Architektur erstellen können. Spring Cloud und Spring Boot sind beliebte Java-Microservices-Frameworks.

Spring Boot ist eine eigenständige Anwendungsentwicklungsplattform, die mit dem Spring-Framework erstellt wurde, das zur Entwicklung von Java-Webanwendungen verwendet wird. Gleichzeitig ist es anpassbar und Sie können es basierend auf Ihren Anforderungen konfigurieren. In diesem Blog werden grundlegende Aspekte des Frühlings-Cloud-Tutorials besprochen.

Microservices mit Spring Boot und Spring Cloud

Dieses Spring Cloud-Tutorial bietet einen grundlegenden Überblick über das Erstellen einer einfachen Microservices-Anwendung mit Spring Boot und Spring Cloud. Darüber hinaus bietet das Tutorial Links zu relevanter Dokumentation, die Ihnen beim Erreichen Ihrer Lernziele helfen wird. Sie müssen Folgendes tun:

1. Erstellen Sie einen neuen Dienst mit Spring Boot, indem Sie den Spring Initializer verwenden

Gemäß dem Spring Cloud-Tutorial besteht der erste Schritt darin, eine Projektstruktur mit dem Spring Initializer zu erstellen. Der Initialisierer bietet eine schnelle Möglichkeit, alle Abhängigkeiten hinzuzufügen, die Sie für Ihr Projekt benötigen. Sie können beispielsweise das Maven-Projekt, Java und Spring Boot Version 2.0.0 auswählen. Maven-Projekte erfordern eine Gruppen-ID und eine Artefakt-ID, ähnlich wie Paket und Klasse in Java.

Sie müssen auch Abhängigkeiten auswählen, z. B. Web (um mit der Entwicklung von Webanwendungen zu beginnen), DevTools (erleichtert die Entwicklung von Anwendungen), Actuator (um die App zu überwachen) und Config Client (um die Anwendung mit Spring Config Server). Nachdem Sie alle Optionen ausgewählt haben, generieren Sie das Projekt. Weitere Informationen finden Sie unter Starting with Spring Initializer in der Ressource Building a RESTful Web Service . Unter Spring Data JPA erfahren Sie, wie Sie eine Verbindung zur Datenbank herstellen.

2. Stellen Sie die Benennung und Erkennung von Diensten sicher

Alle Microservices müssen registriert werden, um zu erkennen, wann ein anderer Service in der Architektur nach ihnen sucht. Beispielsweise möchte ein bestimmter Dienst möglicherweise alle Instanzen eines anderen Dienstes finden, der in einer bestimmten Umgebung erneut ausgeführt wird. In diesem Frühlings-Cloud-Tutorial erfahren Sie, dass der Namensserver die Informationen zu allen Diensten und ihren Instanzen speichert und den Suchenden die Informationen zur Verfügung stellt. Somit hilft es beim Prozess der Diensterkennung. Weitere Informationen zur Dienstregistrierung und -erkennung finden Sie unter Registrierung und Erkennung von Microservices mit Spring Cloud und Eureka von Netflix .

Lesen Sie: Spring Boot-Projekte und -Themen

3. Rufen Sie andere Microservices auf

Bei Spring Cloud müssen mehrere Aufrufe an andere Komponenten und Dienste erfolgen. Dies wird durch die Verwendung von Feign erreicht, das den Prozess vereinfacht, indem es Ihnen ermöglicht, Webdienst-Clients einfacher zu schreiben. Weitere Informationen finden Sie unter Spring Cloud Open Feign .

4. Lastenausgleich sicherstellen

Gemäß diesem Frühlings-Cloud-Tutorial bietet Feign auch die Integration mit Ribbon, einem clientseitigen Load-Balancing-Framework. Das Menüband hilft bei der Verwendung der Feign-Konfiguration, um Aufrufe zu verteilen und zwischen allen Instanzen eines Diensts auszugleichen, mit dem ein anderer Dienst eine Verbindung herstellen möchte. Weitere Informationen finden Sie unter Clientseitiger Lastenausgleich mit Ribbon und Spring Cloud .

5. Verwalten Sie die Microservices-Konfiguration zentral mithilfe von Spring Cloud Config Server

Gemäß diesem Frühlings-Cloud-Tutorial verwendet eine Anwendung mehrere Mikrodienste, mehrere Umgebungen für diese Mikrodienste und auch verschiedene Instanzen dieser Dienste, die in den Umgebungen ausgeführt werden. Der Spring-Konfigurationsserver bietet einen zentralen Ort zum Speichern der Konfigurationsinformationen, die sich auf alle diese Instanzen von Microservices beziehen.

Daher ist diese Konfiguration an einem Ort verfügbar und muss von jedem Dienst in der Architektur verwendet werden. Um die Konfiguration zentral zu verwalten, definieren Sie Eigenschaften, die sich auf einen neuen Dienst beziehen, und verbinden Sie dann den zugehörigen Spring Config-Server, indem Sie Git als Code-Repository verwenden. Weitere Informationen finden Sie in der Dokumentation Spring Config Overview . Informationen zum Verbinden von Spring Config mit Git finden Sie unter Spring Cloud Config .

Lesen Sie auch: Frühlingsgehalt für Entwickler in Indien

6. Schaffen Sie Sicherheit mit Spring Cloud

In einer Microservices-Architektur, in der Hunderte von Microservices zusammenarbeiten, ist es unerlässlich, Authentifizierung und Autorisierung zu überprüfen. Abgesehen von der Sicherheit gibt es Überlegungen wie Metriken, Grenzwerte usw. Ein API-Gateway ermöglicht es, Funktionen zu implementieren, die allen Diensten gemeinsam sind.

Beispielsweise ist Zuul Server eine API Gateway-Anwendung, die Anforderungen verarbeitet und dynamisches Routing von Microservices-Anwendungen durchführt. Weitere Informationen finden Sie in diesem Spring Cloud-Tutorial unter Spring Cloud Gateway .

7. Aktivieren Sie die Fehlertoleranz

Eine wichtige Überlegung bei der Implementierung von Microservices ist, dass die gesamte Anwendung zum Erliegen kommen kann, wenn eine Komponente nicht mehr funktioniert. Das Hystrix-Framework hilft beim Erstellen fehlertoleranter Microservices, mit denen Sie die Funktionalität problemlos aktualisieren können, wenn ein Methodenaufruf fehlschlägt. Dadurch kann ein Microservice weiter betrieben werden, wenn ein verwandter Dienst ausfällt, wodurch eine Kaskadierung des Ausfalls verhindert und dem ausgefallenen Dienst Zeit zur Wiederherstellung gegeben wird.

Schauen Sie sich an: Spring Bean Life Cycle Explained

Fazit

Hoffentlich dient dieses Spring Cloud-Tutorial als wesentlicher Ausgangspunkt für den Einstieg.

Wenn Sie mehr über Spring Cloud erfahren möchten, sehen Sie sich das PG-Diplom in Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenge Schulungen, mehr als 9 Projekte und Aufgaben, IIIT, bietet -B Alumni-Status, praktische praktische Abschlussprojekte und Jobunterstützung bei Top-Unternehmen.

Landen Sie in Ihrem Traumjob

UPGRAD UND IIIT-BANGALORES PG-DIPLOM IN SOFTWAREENTWICKLUNG
Jetzt bewerben