Heim  >  Artikel  >  Java  >  Eingehende Analyse der Eureka-Praxis von springCloud

Eingehende Analyse der Eureka-Praxis von springCloud

无忌哥哥
无忌哥哥Original
2018-07-20 11:30:223057Durchsuche

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

  • Zuul: Service Gateway
  • 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.

Eingehende Analyse der Eureka-Praxis von springCloud

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:

Eingehende Analyse der Eureka-Praxis von springCloud

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

Eingehende Analyse der Eureka-Praxis von springCloud

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn