>  기사  >  Java  >  Springboot의 nocos를 통합하고 사용하는 방법

Springboot의 nocos를 통합하고 사용하는 방법

WBOY
WBOY앞으로
2023-05-21 15:32:091266검색

머리말

Nacos는 귀하가 마이크로서비스를 검색, 구성 및 관리할 수 있도록 돕기 위해 최선을 다하고 있습니다. Nacos는 동적 서비스 검색, 구성, 메타데이터 및 트래픽 관리를 신속하게 구현하는 데 도움이 되는 사용하기 쉬운 일련의 기능을 제공합니다.

Nacos는 마이크로서비스 플랫폼을 보다 민첩하고 쉽게 구축, 제공 및 관리할 수 있도록 도와줍니다. Nacos는 서비스 중심의 최신 애플리케이션 아키텍처(예: 마이크로서비스 패러다임 및 클라우드 네이티브 패러다임)를 구축하는 데 사용되는 인프라입니다.

1. 프로젝트 생성

먼저 상위 프로젝트 pom을 생성합니다.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>configDemo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.2.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.5.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

2 . nacos 시작 - 서버 서비스

에서 액세스하는 URL은 http://localhost:8848/nacos/입니다. 기본 포트는 8848이고, 계정 비밀번호는 nacos/nocos

3입니다. 동적 구성을 위한 컨트롤러를 다음 위치에 씁니다. 적용

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author yhq
 * @version 1.0
 * @date 2022/7/15 19:07
 */
@RestController
@RefreshScope  //@RefreshScope:需要配置这个才能动态更新配置。
public class TestController {
    @Value("${name}")
    private String name;
    @GetMapping("/getName")
    public String test(){
        return name;
    }
}

4, 구성 파일 Boostrap .yaml

springboot의 기본 로딩 구성 파일 순서를 추가합니다:

bootstrap.properties -> bootstrap.yml -> application.properties -> 가장 높은 우선순위로 구성된 .properties가 먼저 로드되므로 .properties와 .yml이 동시에 존재하면 .properties가 유효하지 않고 .yml이 적용됩니다. ”

#Port
server:
port: 8888
#Configuration project name
spring:
application:
#configdemo의 기본값은 nacos
의 DateId 이름입니다. name: configdemo
#테스트 구성 파일 지정
프로필:
active : test
cloud:
nacos:
config:
server-addr: localhost:8848
#Load the nacos file of yaml
file-extension: yaml

시작 시 파일이 로드되는 것을 볼 수 있습니다:

Springboot의 nocos를 통합하고 사용하는 방법

5. nacos 구성

은 configdemo 및 configdemo-test.yaml

으로 구성됩니다. 참고: 로드 규칙은 다음과 같습니다. # 1.DataId

- 원격 구성 센터의 특정 구성 파일을 읽는 데 사용됩니다.

- ${prefix}-${spring.profile.active}.${file-extension}

a. 접두사는 spring.application.name 값으로 기본 설정되며, 다음을 통해 구성할 수도 있습니다. 구성 항목 spring.cloud.nacos.config.prefix

b.spring.profile.active는 현재 환경에 해당하는 프로필입니다. 참고: spring.profile을 참조하세요. active가 비어 있으면 해당 커넥터는 사용되지 않습니다. 예, dataId의 접합 형식은 ${prefix}.${file-extension}

c가 됩니다. 파일 확장자는 구성 콘텐츠의 데이터 형식입니다. spring.cloud.nacos.config.file-extension 구성 항목을 통해 구성할 수 있습니다. 현재는 속성과 yaml 유형만 지원됩니다.

name 구성이 configdemo와 configdemo-test.yaml 모두에 존재하는 경우 configdemo-test.yaml 액세스 결과는 다음과 같습니다.

위 내용은 Springboot의 nocos를 통합하고 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제