Rumah > Java > javaTutorial > Komponen pendaftaran dan penemuan perkhidmatan mikro yang ditulis dalam Java

Komponen pendaftaran dan penemuan perkhidmatan mikro yang ditulis dalam Java

王林
Lepaskan: 2023-08-08 10:00:38
asal
1271 orang telah melayarinya

Komponen pendaftaran dan penemuan perkhidmatan mikro yang ditulis dalam Java

Tajuk: Komponen pendaftaran dan penemuan perkhidmatan mikro yang ditulis dalam Java

Abstrak: Kebangkitan seni bina perkhidmatan mikro telah menjadikan sistem lebih modular dan berskala, dan pendaftaran serta penemuan perkhidmatan telah menjadi isu penting. Artikel ini akan memperkenalkan cara menggunakan Java untuk menulis komponen pendaftaran dan penemuan perkhidmatan mikro yang mudah, dan menyediakan contoh kod.

1. Pengenalan latar belakang

Dengan perkembangan teknologi pengkomputeran awan dan kontena, seni bina perkhidmatan mikro secara beransur-ansur menjadi salah satu seni bina arus perdana dalam pembangunan perusahaan. Seni bina perkhidmatan mikro membahagikan aplikasi yang kompleks kepada beberapa perkhidmatan kecil dan bebas, yang setiap satunya boleh dibangunkan, diuji dan digunakan secara bebas. Walau bagaimanapun, bilangan perkhidmatan mikro adalah besar, dan cara mendaftar dan menemui perkhidmatan telah menjadi isu penting.

Pendaftaran dan penemuan perkhidmatan mikro merujuk kepada pendaftaran perkhidmatan ke pusat pendaftaran perkhidmatan pusat dan dapat menemui contoh perkhidmatan yang tersedia melalui nama perkhidmatan. Dengan cara ini, perkhidmatan atau pelanggan lain boleh mengakses contoh perkhidmatan tertentu melalui nama perkhidmatan tanpa mengambil berat tentang alamat IP dan nombor port tertentu.

2. Pendaftaran perkhidmatan mikro dan komponen penemuan ditulis dalam Java

  1. Pengurusan pergantungan

Pertama, kami perlu menambah beberapa kebergantungan pada projek Java untuk menyokong fungsi pendaftaran dan penemuan perkhidmatan. Di sini, kami menggunakan komponen Eureka yang disediakan oleh Spring Cloud sebagai pendaftaran perkhidmatan.

Kebergantungan Maven adalah seperti berikut:

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
</dependencies>
Salin selepas log masuk
  1. Buat pusat pendaftaran perkhidmatan

Buat kelas permulaan dalam projek Java untuk memulakan pusat pendaftaran perkhidmatan.

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}
Salin selepas log masuk

Tandakan aplikasi semasa sebagai pusat pendaftaran melalui anotasi @EnableEurekaServer. @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);
    }
}
Salin selepas log masuk

在上面的代码中,@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);
    }
}
Salin selepas log masuk

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

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

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

    Buat penyedia perkhidmatan

    Buat penyedia perkhidmatan dalam projek Java untuk menyediakan perkhidmatan khusus.

    rrreee🎜Dalam kod di atas, anotasi @EnableEurekaClient menunjukkan bahawa aplikasi semasa akan bertindak sebagai penyedia perkhidmatan dan mendaftar dengan pusat pendaftaran. 🎜
      🎜Buat pengguna perkhidmatan🎜🎜🎜Buat pengguna perkhidmatan dalam projek Java untuk memanggil perkhidmatan tertentu. 🎜rrreee🎜Dalam kod di atas, kami menggunakan RestTemplate untuk memanggil antara muka pembekal perkhidmatan dan membina URL melalui nama perkhidmatan. 🎜
        🎜Mulakan pendaftaran perkhidmatan, penyedia perkhidmatan dan pengguna perkhidmatan🎜🎜🎜Jalankan kelas permulaan pendaftaran perkhidmatan EurekaServerApplication, dan kemudian jalankan kelas permulaan pembekal perkhidmatan ServiceProviderApplication, dan akhirnya jalankan kelas permulaan pengguna perkhidmatan ServiceConsumerApplication. 🎜🎜3. Ringkasan🎜🎜Artikel ini memperkenalkan cara menggunakan Java untuk menulis komponen pendaftaran dan penemuan perkhidmatan mikro yang mudah, dan menyediakan contoh kod yang sepadan. Dengan mendaftarkan perkhidmatan dalam daftar perkhidmatan pusat, perkhidmatan atau pelanggan lain boleh menemui dan mengakses contoh perkhidmatan tertentu melalui nama perkhidmatan. Dengan cara ini, seni bina perkhidmatan mikro menjadi lebih fleksibel dan berskala, meningkatkan ketersediaan dan kebolehselenggaraan sistem. 🎜

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

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan