Cách thiết lập dịch vụ cấu hình thống nhất Spring Cloud - tại vin777

| Mar 26, 2025 min read

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ý.

![](Registry Service Panel)

(Giao diện Registry Service)