Heim > Java > javaLernprogramm > Hauptteil

In Java geschriebene Microservice-Registrierungs- und Erkennungskomponenten

王林
Freigeben: 2023-08-08 10:00:38
Original
1243 Leute haben es durchsucht

In Java geschriebene Microservice-Registrierungs- und Erkennungskomponenten

Titel: In Java geschriebene Microservice-Registrierungs- und Erkennungskomponenten

Zusammenfassung: Der Aufstieg der Microservice-Architektur hat das System modularer und skalierbarer gemacht, und die Registrierung und Erkennung von Diensten ist zu einem wichtigen Thema geworden. In diesem Artikel wird erläutert, wie Sie mit Java eine einfache Microservice-Registrierungs- und Erkennungskomponente schreiben und Codebeispiele bereitstellen.

1. Hintergrundeinführung

Mit der Entwicklung der Cloud-Computing- und Containerisierungstechnologie hat sich die Microservice-Architektur nach und nach zu einer der Mainstream-Architekturen in der Unternehmensentwicklung entwickelt. Die Microservice-Architektur teilt eine komplexe Anwendung in mehrere kleine, unabhängige Dienste auf, die jeweils unabhängig voneinander entwickelt, getestet und bereitgestellt werden können. Allerdings ist die Zahl der Microservices riesig und die Art und Weise, wie man Dienste registriert und entdeckt, ist zu einem wichtigen Thema geworden.

Registrierung und Erkennung von Microservices bezieht sich auf die Registrierung von Diensten bei einem zentralen Dienstregistrierungszentrum und die Möglichkeit, verfügbare Dienstinstanzen anhand von Dienstnamen zu ermitteln. Auf diese Weise können andere Dienste oder Clients über den Dienstnamen auf bestimmte Dienstinstanzen zugreifen, ohne sich um die spezifische IP-Adresse und Portnummer zu kümmern.

2. In Java geschriebene Microservice-Registrierungs- und Erkennungskomponenten

  1. Abhängigkeitsverwaltung

Zunächst müssen wir dem Java-Projekt einige Abhängigkeiten hinzufügen, um die Dienstregistrierungs- und Erkennungsfunktionen zu unterstützen. Hier verwenden wir die von Spring Cloud bereitgestellte Eureka-Komponente als Service-Registrierung.

Maven-Abhängigkeiten sind wie folgt:

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
</dependencies>
Nach dem Login kopieren
  1. Erstellen Sie ein Service-Registrierungscenter.

Erstellen Sie eine Startup-Klasse im Java-Projekt, um das Service-Registrierungscenter zu starten.

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}
Nach dem Login kopieren

Markieren Sie die aktuelle Anwendung über die Annotation @EnableEurekaServer als Registrierungszentrum. @EnableEurekaServer注解将当前应用标记为一个注册中心。

  1. 创建服务提供者

在Java项目中创建一个服务提供者,用于提供具体的服务。

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}

@SpringBootApplication
@EnableEurekaClient
public class ServiceProviderApplication {
    public static void main(String[] args) {
        SpringApplication.run(ServiceProviderApplication.class, args);
    }
}
Nach dem Login kopieren

在上面的代码中,@EnableEurekaClient注解表示当前应用将作为一个服务提供者,并注册到注册中心。

  1. 创建服务消费者

在Java项目中创建一个服务消费者,用于调用具体的服务。

@RestController
public class ConsumerController {
    @Autowired
    private RestTemplate restTemplate;

    @RequestMapping("/hello")
    public String hello() {
        String url = "http://service-provider/hello";
        return restTemplate.getForObject(url, String.class);
    }

    // 省略其他代码
}

@Configuration
public class RestTemplateConfiguration {
    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

@SpringBootApplication
@EnableEurekaClient
public class ServiceConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ServiceConsumerApplication.class, args);
    }
}
Nach dem Login kopieren

上面的代码中,我们使用RestTemplate来调用服务提供者的接口,并且通过服务名称来构建URL。

  1. 启动服务注册中心、服务提供者和服务消费者

运行服务注册中心的启动类EurekaServerApplication,然后运行服务提供者的启动类ServiceProviderApplication,最后运行服务消费者的启动类ServiceConsumerApplication

    Erstellen Sie einen Dienstanbieter

    Erstellen Sie im Java-Projekt einen Dienstanbieter, um bestimmte Dienste bereitzustellen.

    rrreee🎜Im obigen Code gibt die Annotation @EnableEurekaClient an, dass die aktuelle Anwendung als Dienstanbieter fungiert und sich beim Registrierungscenter registriert. 🎜
      🎜Erstellen Sie einen Dienstkonsumenten🎜🎜🎜Erstellen Sie einen Dienstkonsumenten im Java-Projekt, um bestimmte Dienste aufzurufen. 🎜rrreee🎜Im obigen Code verwenden wir RestTemplate, um die Schnittstelle des Dienstanbieters aufzurufen und die URL über den Dienstnamen zu erstellen. 🎜
        🎜Starten Sie die Dienstregistrierung, den Dienstanbieter und den Dienstkonsumenten.🎜🎜🎜Führen Sie die Startklasse der Dienstregistrierung EurekaServerApplication aus und führen Sie dann die Startklasse des Dienstanbieters aus ServiceProviderApplication und führen Sie schließlich die Startklasse ServiceConsumerApplication des Dienstkonsumenten aus. 🎜🎜3. Zusammenfassung🎜🎜Dieser Artikel stellt vor, wie man mit Java eine einfache Microservice-Registrierungs- und Erkennungskomponente schreibt, und stellt entsprechende Codebeispiele bereit. Durch die Registrierung von Diensten in einer zentralen Dienstregistrierung können andere Dienste oder Clients bestimmte Dienstinstanzen über den Dienstnamen erkennen und darauf zugreifen. Auf diese Weise wird die Microservice-Architektur flexibler und skalierbarer, was die Verfügbarkeit und Wartbarkeit des Systems verbessert. 🎜

Das obige ist der detaillierte Inhalt vonIn Java geschriebene Microservice-Registrierungs- und Erkennungskomponenten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage