16 tháng 9 tại vin777 năm 2024 Công nghệ thông tin
Dịch vụ cấu hình Spring Cloud có thể được sử dụng để quản lý tập trung các tệp cấu hình của các vi dịch vụ. So với việc viết riêng lẻ từng tệp cấu hình cho mỗi vi Pk16vn Bet dịch vụ, một dịch vụ cấu hình tập trung sẽ giúp tăng đáng kể hiệu quả trong việc duy trì các tệp cấu hình.
Bài viết này sẽ lần lượt xây dựng một Registry Service, Config Service và App Service để minh họa vai trò của Config Service. Trong đó, Registry Service là một Eureka Server (tức trung tâm đăng ký dịch vụ); Config Service là nhân vật chính của bài viết, tức là trung tâm cấu hình thống nhất sử dụng Spring Cloud Config Server; App Service là người sử dụng cấu hình thống nhất, tức là một vi dịch vụ bình thường.
Ba dịch vụ này đều được đặt trong thư mục spring-cloud-config-demo
:
spring-cloud-config-demo
├─ registry-service
├─ config-service
└─ app-service
Các phiên bản JDK, Maven và Spring Boot Starter Parent được sử dụng bởi ba dịch vụ này như sau:
JDK: BellSoft Liberica JDK 17
Maven: 3.9.2
Spring Boot Starter Parent: 3.3.3
Sau đây chúng ta sẽ bắt đầu quá trình xây dựng ba dịch vụ này.
1. Thiết lập Registry Service (Eureka Server)
Registry Service là một Eureka Server, tức là trung tâm đăng ký dịch vụ. Để sử dụng chức năng phát hiện dịch vụ của Spring Cloud, mỗi vi dịch vụ cần phải đăng ký vào trung tâm đăng ký này, từ đó các vi dịch vụ có thể tìm địa chỉ gọi tới dịch vụ đích qua tên.
Cấu trúc thư mục của registry-service
như sau:
registry-service
├─ src/main
│ ├─ java
│ │ └─ com.example.demo
│ │ └─ RegistryApplication.java
│ └─ resources
│ └─ application.yml
└─ [u88 casino](/post/go1dot10-release-notes/) pom.xml
Đây là một vi dịch vụ Spring Boot tiêu chuẩn được quản lý bằng Maven.
Tập tin phụ thuộc của registry-service
như sau:
<!-- registry-service/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>
<version>4.1.3</version>
</dependency>
</dependencies>
Quan trọng nhất là dịch vụ này sử dụng phụ thuộc liên quan đến Eureka Server.
Cấu hình của registry-service
như sau:
# registry-service/src/main/resources/application.yml
server:
port: 8761
eureka:
client:
registerWithEureka: false
fetchRegistry: false
Như vậy, nó sử dụng cổng 8761
để cung cấp dịch vụ.
Mã nguồn lớp khởi động của registry-service
như sau:
// registry-service/src/main/java/com/example/demo/RegistryApplication.java
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer
@SpringBootApplication
public class RegistryApplication {
public static void main(String[] args) {
SpringApplication.run(RegistryApplication.class, args);
}
}
Lớp khởi động này sử dụng chú thích @EnableEurekaServer
, nghĩa là nó là một Eureka Server.
Khi dịch vụ này được khởi chạy, mở giao diện web của Registry Service, bạn sẽ thấy số lượng dịch vụ đã đăng ký là 0. Tiếp theo, chúng ta sẽ xây dựng và khởi chạy Config Service và App Service, sau đó làm mới trang này thì bạn sẽ thấy có dịch vụ đã đăng ký.

(Giao diện Registry Service)