Rumah  >  Artikel  >  Java  >  Pusat pendaftaran perkhidmatan mikroperkhidmatan dan alat penemuan perkhidmatan yang ditulis dalam Java

Pusat pendaftaran perkhidmatan mikroperkhidmatan dan alat penemuan perkhidmatan yang ditulis dalam Java

王林
王林asal
2023-08-09 11:12:211305semak imbas

Pusat pendaftaran perkhidmatan mikroperkhidmatan dan alat penemuan perkhidmatan yang ditulis dalam Java

Pusat pendaftaran perkhidmatan mikro dan alat penemuan perkhidmatan yang ditulis dalam Java

Pengenalan

Dengan populariti seni bina perkhidmatan mikro, pendaftaran perkhidmatan dan penemuan telah menjadi komponen penting. Dalam seni bina perkhidmatan mikro, perkhidmatan secara aktif mendaftar dengan pusat pendaftaran dan menemui serta menghubungkan perkhidmatan melalui pusat pendaftaran. Artikel ini akan memperkenalkan cara menggunakan Java untuk menulis pusat pendaftaran perkhidmatan mikroperkhidmatan ringkas dan alat penemuan perkhidmatan.

1. Pusat Pendaftaran Perkhidmatan Microservice

Pusat Pendaftaran Perkhidmatan Mikro ialah komponen berpusat yang digunakan untuk menguruskan pendaftaran dan penemuan setiap perkhidmatan. Dalam artikel ini, kami akan menggunakan Spring Boot dan Netflix Eureka untuk melaksanakan pendaftaran perkhidmatan.

1.1 Buat projek Spring Boot

Mula-mula, kita perlu mencipta projek berdasarkan Spring Boot. Anda boleh menggunakan alatan pembangunan Java biasa seperti Eclipse dan IntelliJ IDEA untuk mencipta projek dan menambah kebergantungan berikut pada fail pom.xml: pom.xml文件中:

<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>
</dependencies>

1.2 配置Eureka服务器

application.properties文件中,添加以下配置:

spring.application.name=eureka-server
server.port=8761

eureka.client.registerWithEureka=false
eureka.client.fetchRegistry=false
eureka.server.enable-self-preservation=false
eureka.server.eviction-interval-timer-in-ms=60000

1.3 创建Eureka服务器

接下来,创建一个EurekaServerApplication类,并使用@EnableEurekaServer注解来启用Eureka服务器。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}

现在,启动该应用程序,Eureka服务器将在http://localhost:8761上运行。

2. 微服务服务发现工具

微服务服务发现工具用于从服务注册中心中发现可用的服务实例。在本文中,我们将使用Netflix Ribbon来实现服务的发现。

2.1 创建一个Spring Boot项目

同样地,创建一个基于Spring Boot的项目,并添加以下依赖项到pom.xml文件中:

<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</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
    </dependency>
</dependencies>

2.2 配置Eureka客户端

application.properties文件中,添加以下配置:

spring.application.name=service-discovery-client
server.port=8080

eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

2.3 创建服务消费者

接下来,创建一个HelloController类,并使用Netflix Ribbon来消费服务。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @Autowired
    private DiscoveryClient discoveryClient;

    @GetMapping("/hello")
    public String hello() {
        List<ServiceInstance> instances = discoveryClient.getInstances("hello-service");
        if (instances != null && !instances.isEmpty()) {
            ServiceInstance serviceInstance = instances.get(0);
            String url = serviceInstance.getUri().toString();
            RestTemplate restTemplate = new RestTemplate();
            return restTemplate.getForObject(url + "/hello", String.class);
        }
        return "No service available.";
    }
}

2.4 运行服务消费者

最后,启动该应用程序,服务消费者将在http://localhost:8080上运行。通过访问http://localhost:8080/hello,它将消费名为hello-service的微服务的/hellorrreee

1.2 Konfigurasikan pelayan Eureka

dalam application. properties fail, tambahkan konfigurasi berikut:

rrreee

1.3 Cipta Pelayan Eureka🎜🎜Seterusnya, buat kelas EurekaServerApplication dan gunakan anotasi @EnableEurekaServer untuk membolehkannya pelayan Eureka. 🎜rrreee🎜 Sekarang, lancarkan aplikasi dan pelayan Eureka akan berjalan pada http://localhost:8761. 🎜🎜2. Alat penemuan perkhidmatan mikro🎜🎜Alat penemuan perkhidmatan mikro digunakan untuk menemui contoh perkhidmatan yang tersedia daripada daftar perkhidmatan. Dalam artikel ini, kami akan menggunakan Netflix Ribbon untuk melaksanakan penemuan perkhidmatan. 🎜🎜2.1 Buat projek Spring Boot🎜🎜Begitu juga, buat projek berdasarkan Spring Boot dan tambahkan kebergantungan berikut pada fail pom.xml: 🎜rrreee🎜2.2 Konfigurasikan klien Eureka🎜🎜 Dalam application.properties fail, tambahkan konfigurasi berikut: 🎜rrreee🎜2.3 Buat pengguna perkhidmatan 🎜🎜Seterusnya, buat kelas HelloController dan gunakan Reben Netflix untuk menggunakan perkhidmatan . 🎜rrreee🎜2.4 Menjalankan pengguna perkhidmatan 🎜🎜Akhir sekali, mulakan aplikasi dan pengguna perkhidmatan akan berjalan pada http://localhost:8080. Dengan mengakses http://localhost:8080/hello, ia akan menggunakan antara muka /hello perkhidmatan mikro bernama hello-service. 🎜🎜Kesimpulan🎜🎜Artikel ini memperkenalkan cara menggunakan Java untuk menulis pendaftaran perkhidmatan mikro dan alat penemuan perkhidmatan berdasarkan Spring Boot dan Netflix Eureka. Dengan menggunakan alatan ini, kami boleh melaksanakan pendaftaran dan penemuan perkhidmatan dengan mudah dalam seni bina perkhidmatan mikro. Harap artikel ini dapat membantu anda! 🎜

Atas ialah kandungan terperinci Pusat pendaftaran perkhidmatan mikroperkhidmatan dan alat penemuan perkhidmatan yang ditulis dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn