Heim >Java >javaLernprogramm >Eingehende Analyse der Eureka-Praxis von springCloud
1. Erste Einführung in Springcloud
Microservices sind ein Architekturansatz, der letztendlich die Implementierung einer technischen Architektur erfordert.
Es gibt viele Möglichkeiten, Microservices zu implementieren, aber die beliebteste ist Spring Cloud
Was Spring am besten kann, ist die Integration, indem es die besten Frameworks der Welt nutzt und sie in Ihre eigenen Projekte integriert Mitte.
Dasselbe gilt für Spring Cloud. Es integriert einige der derzeit beliebtesten Technologien und implementiert Funktionen wie: Konfigurationsmanagement, Serviceerkennung, intelligentes Routing, Lastausgleich, Sicherungen, Kontrollbus, Clusterstatus und so weiter An. Zu seinen Hauptbestandteilen gehören:
Eureka: Registration Center
Ribbon: Load Balancing
Feign: Service Call
Hystix: Fuse
Heute lernen wir hauptsächlich Springclouds Registrierungszentrum Eureka kennen
Hier ein Beispiel aus dem Leben:
Vor dem Aufkommen des Online-Ride-Hailings konnten die Leute nur beim Ausgehen ein Taxi rufen. Einige Privatwagen möchten gemietet werden, sind aber nicht qualifiziert und werden als schwarze Autos bezeichnet. Viele Menschen möchten ein Taxi buchen, aber leider gibt es zu wenige Taxis und das ist unpraktisch. Es gibt viele Privatautos, aber man wagt es nicht, sie anzuhalten, und wer weiß unter den Autos auf der Straße, welche bereit sind, Menschen zu befördern. Der eine will und der andere ist bereit zu geben, aber es mangelt an Einführung und Management.
Zu diesem Zeitpunkt erschienen Online-Mitfahrplattformen wie Didi. Alle privaten Autos, die Passagiere befördern möchten, müssen sich bei Didi registrieren und Ihr Automodell (Diensttyp) und Ihre Identitätsinformationen (Kontaktinformationen) erfassen. Privatwagen, die solche Dienste anbieten, sind auf Didi zu finden und auf einen Blick deutlich sichtbar.
Wer zu diesem Zeitpunkt ein Auto rufen möchte, muss nur die APP öffnen, Ihr Ziel eingeben, das Automodell (Servicetyp) auswählen und Didi wird automatisch ein Auto organisieren, das Ihren Bedürfnissen entspricht, um Sie zu bedienen .
Gehen Sie zurück zu Eureka von springcloud. Eureka ist wie Didi für die Verwaltung und Aufzeichnung von Dienstanbieterinformationen verantwortlich. Service-Anrufer müssen die Dienste nicht selbst suchen, sondern teilen Eureka ihre Bedürfnisse mit, und Eureka teilt Ihnen dann die Dienste mit, die Ihren Anforderungen entsprechen. Gleichzeitig werden der Dienstanbieter und Eureka über den “心跳”
-Mechanismus überwacht. Wenn bei einem Dienstanbieter ein Problem auftritt, wird er von Eureka selbstverständlich aus der Dienstliste entfernt.
Dies ermöglicht die automatische Registrierung, Erkennung und Statusüberwachung von Diensten.
Eureka: Es ist das Service-Registrierungszentrum (kann ein Cluster sein), das seine eigene Adresse der Außenwelt zugänglich macht
Anbieter: Registrieren Sie Ihre Informationen bei Eureka nach dem Start (Adresse, welche Dienste werden bereitgestellt)
Verbraucher: Abonnieren Sie Eureka für einen Dienst. Eureka sendet dem Verbraucher eine Liste aller Anbieteradressen des entsprechenden Dienstes und aktualisiert diese regelmäßig
Heartbeat (Erneuerung): Anbieter aktualisieren regelmäßig ihren Status bei Eureka über http
Praxis:
Strukturdiagramm des Eureka-Registrierungszentrums:
Vervollständigen Sie die pom.xml-Datei und fügen Sie Abhängigkeiten hinzu
Im Folgenden sind die Hauptteile der pom-Datei aufgeführt
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <spring-cloud.version>Finchley.RELEASE</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
Bearbeiten die Startup-Klasse
@SpringBootApplication @EnableEurekaServer // 声明这个应用是一个EurekaServer public class SpringcloudEurekaServerApplication { public static void main(String[] args) { SpringApplication.run(SpringcloudEurekaServerApplication.class, args); } }
Application.yml-Konfiguration schreiben
server: port: 8081 # 端口 spring: application: name: eureka-server # 应用名称,会在Eureka中显示 eureka: client: register-with-eureka: false # 是否注册自己的信息到EurekaServer,默认是true fetch-registry: false # 是否拉取其它服务的信息,默认是true service-url: # EurekaServer的地址,现在是自己的地址,如果是集群,需要加上其它Server的地址。 defaultZone: http://127.0.0.1:${server.port}/eureka
Führen Sie das Projekt aus: Besuchen Sie http://127.0.0.1:8081
Derzeit wird ein Eureka-Registrierungszentrum erfolgreich gebaut
Das obige ist der detaillierte Inhalt vonEingehende Analyse der Eureka-Praxis von springCloud. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!