Mit der Entwicklung des Internets und der kontinuierlichen Aktualisierung der Technologie können herkömmliche Einzelanwendungen die Benutzeranforderungen nicht mehr erfüllen, und es ist das Konzept der Microservices entstanden. Spring Cloud ist ein von Pivotal eingeführtes Microservice-Entwicklungstoolkit, das Entwicklern eine äußerst bequeme Möglichkeit bietet, Microservice-Architekturanwendungen zu erstellen, bereitzustellen und zu verwalten.
In diesem Artikel wird die serviceorientierte Spring Cloud-Microservice-Entwicklung ausführlich vorgestellt, einschließlich des Konzepts und der Architektur von Spring Cloud, des Microservice-Entwicklungsprozesses und häufig verwendeter Microservice-Komponenten.
1. Spring Cloud-Konzept und -Architektur
Spring Cloud ist ein erweiterter Toolsatz von Spring Boot im Rahmen der Microservice-Architektur. Er bietet einen umfangreichen Satz an Komponenten, einschließlich Serviceerkennung, Konfigurationscenter, Lastausgleich, Leistungsschalter usw. Spring Cloud implementiert die Kernfunktionen der Microservice-Architektur, wie z. B. Service Discovery und Load Balancing, durch die Einführung von Netflix OSS-Komponenten.
Die Architektur von Spring Cloud ist in zwei Ebenen unterteilt, nämlich Spring Cloud Config und Spring Cloud Netflix.
Spring Cloud Config ist ein verteiltes Konfigurationscenter, das von Spring Cloud bereitgestellt wird. Sein Kern besteht darin, Anwendungskonfigurationsdateien zentral zu verwalten, um eine dynamische Aktualisierung und Versionskontrolle der Konfiguration zu erreichen. Spring Cloud Config unterstützt mehrere Back-End-Speichermethoden, wie z. B. lokales Dateisystem, Git, Subversion usw., und Sie können die Speichermethode auch anpassen.
Spring Cloud Netflix ist die Kernkomponente der von Spring Cloud bereitgestellten Microservices, einschließlich Service-Registrierungscenter, Service-Provider, Service-Consumer und Load-Balancer. Spring Cloud Netflix basiert hauptsächlich auf Netflix OSS-Komponenten, darunter Eureka, Hystrix, Zuul, Ribbon usw.
2. Microservice-Entwicklungsprozess
Der Prozess der Microservice-Entwicklung umfasst normalerweise Schritte wie Projekterstellung, Abhängigkeitskonfiguration, Dienstregistrierung und -erkennung, Dienstschreiben und Dienstaufruf. In diesem Artikel wird die Spring Cloud-Microservice-Entwicklung als Beispiel verwendet, um den grundlegenden Prozess der Microservice-Entwicklung zu demonstrieren:
Sie können Spring Initializr verwenden, um ein Spring Cloud-Projekt zu erstellen, die Version von Spring Cloud auszuwählen und die erforderliche Komponenten. Spring Initializr generiert automatisch das Projektgerüst und die Maven- oder Gradle-Konfigurationsdateien.
Fügen Sie Abhängigkeiten entsprechend den Projektanforderungen hinzu, z. B. Spring Cloud Config, Spring Cloud Netflix Eureka, Spring Cloud Netflix Ribbon usw. Entsprechende Konfigurationen sind auch in der Konfigurationsdatei erforderlich, z. B. eureka.client.service-url.defaultZone, spring.cloud.config.server.git.uri usw.
Dienstregistrierung und -erkennung sind der Kern der Microservice-Architektur, und Spring Cloud stellt Eureka als Implementierungsmethode bereit. Dienstanbieter registrieren beim Start ihre eigenen Informationen beim Eureka-Registrierungszentrum, und Dienstkunden können verfügbare Dienstanbieter über Eureka finden.
Der Service-Schreibprozess ist der gleiche wie bei herkömmlichen Einzelanwendungen. Er kann entsprechend den Geschäftsanforderungen in Module unterteilt werden, und jedes Modul kann unabhängig ausgeführt und bereitgestellt werden. Dienstanbieter müssen sich beim Start beim Registrierungszentrum registrieren, und Dienstkonsumenten müssen Dienstaufrufe über Feign oder RestTemplate tätigen.
Service-Aufrufe können mit RestTemplate oder Feign erfolgen. Der Code der Schnittstellenschicht und der Code der Geschäftsschicht sind getrennt. Der Code der Schnittstellenschicht ruft lediglich die Geschäftsmethoden verschiedener Dienstanbieter auf, und die Geschäftsimplementierung erfolgt jeweils Dienstleister. 3. Häufig verwendete Microservice-Komponenten Config Es handelt sich um ein zentralisiertes Konfigurationsverwaltungstool, das viele Back-End-Speicher wie Git, SVN, lokale Dateisysteme und Datenbanken unterstützt. Spring Cloud Config kann uns dabei helfen, Konfigurationsinformationen dynamisch zu verwalten, Konfigurationen zu aktualisieren, Versionen zu verwalten usw.
Spring Cloud SleuthDas obige ist der detaillierte Inhalt vonServiceorientierte Spring Cloud-Microservice-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!