봄 클라우드 알리바바는 : Nacos는 등록 센터와 물류 센터로 사용

SpringBoot 실제 전기 공급 업체 항목 몰 (20K + 스타) 주소 : github.com/macrozheng / ...

개요

봄 클라우드 알리바바는 자사의 핵심 구성 요소의 하나로서, 마이크로 서비스 개발을위한 Nacos을 원 스톱 솔루션을 제공하기 위해 노력하고, 등록 센터 및 구성 센터,이 문서의 의지 세부의 사용으로 사용될 수있다.

Nacos 프로필

Nacos 당신이 발견, 구성 및 마이크로 관리 서비스를 최선을 다하고. Nacos 빠르게 동적 서비스 검색, 서비스 구성, 서비스 메타 데이터 및 트래픽 관리를 실현할 수 있도록하는 것이 기능의 사용이 간편한 세트의 세트를 제공합니다.

Nacos는 다음과 같은 특징이 있습니다 :

  • 서비스 검색 및 건강 모니터링 서비스 : 요청을 보내 건강에 해로운 호스트 또는 서비스 인스턴스를 방지 지원의 DNS 및 RPC 기반 서비스 검색, 실시간 상태 점검 서비스에 대한 지원;
  • 동적 구성 서비스 : 동적 구성 서비스 센터, 외적 모든 응용 프로그램 환경 구성 및 서비스 구성을 관리 할 수있는 동적 인 방법으로 당신을 수 있습니다;
  • 다이내믹 DNS 서비스 : DNS 서비스 지원을 동적 흐름 제어 및 데이터 중심 네트워크 분석 서비스 쉽게 중간층로드 밸런싱, 간단하고 유연 DNS 라우팅 전략을 달성하기 위해 결정, 가중치 라우팅;
  • 서비스 및 메타 데이터 관리 : 마이크로 관리 데이터 센터 플랫폼 건설 서비스의 관점에서 모든 서비스 및 메타 데이터에 대한 지원.

사용 Nacos 등록 센터로

설치 및 Nacos을 실행

  • 우리는 다운로드하려면 여기를, Nacos를 다운로드하는 공식 웹 사이트로 시작하는 nacos-server-1.1.4.zip파일, 다운로드 : github.com/alibaba/nac을 ...

  • 구성 JAVA_HOME환경 변수 것은, 구성 Nacos를 실행하지으로 이어질하지 않습니다;

JAVA_HOME=D:\developer\env\Java\jdk1.8.0_91
复制代码
  • 직접 실행 설치 패키지, 추출 bin디렉토리 아래를 startup.cmd;

  • 성공적으로 실행 한 후, 액세스 http://localhost:8848/nacosNacos 홈페이지를 볼 수 있습니다, 기본 계정 암호 nacos입니다.

Nacos을 등록 할 수있는 응용 프로그램을 만듭니다

의 주로 대신 원래 응용 프로그램 영사 레지스트리 지원 Nacos 레지스트리 지원, 영사 사용자 서비스 및 영사 - 리본 서비스의 변화를 통해 서비스 등록 아래에있는 기능을 보여 보자.

  • nacos 사용자 서비스 모듈과 nacos - 리본 서비스 모듈을 생성하는 단계;

  • pom.xml 파일에 배치 된 다음 구성 요소를 추가하는 봄 클라우드 알리바바의 필요성을 사용하려면;

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.1.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
复制代码
  • 종속성을 수정, 원래의 등록 영사 종속성 발견 Nacos을의 변경 :
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
复制代码
  • 구성 파일 application.yml의 Nacos에 등록 된 검색 구성의 영사 수정 :
server:
  port: 8206
spring:
  application:
    name: nacos-user-service
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #配置Nacos地址
management:
  endpoints:
    web:
      exposure:
        include: '*'
复制代码
  • 이 nacos 사용자 서비스 및 다음과 같은 정보를 볼 수 있습니다 Nacos 페이지에 nacos - 리본 서비스를 실행합니다 :

로드 밸런싱

우리는이 nacos 사용자 서비스를 실행하기 때문에 nacos - 리본 서비스의 기본 인터페이스를 호출하는 동안, 우리는로드 밸런싱 기능을 보여 nacos - 리본 - 서비스 인터페이스를 호출합니다.

: 인터페이스에 여러 통화 HTTP : // localhost를 : 8308 / 사용자 / 1 교대로 다음과 같은 정보를 인쇄이 nacos 사용자 서비스 콘솔에서 찾을 수 있습니다.

2019-11-06 14:28:06.458  INFO 12092 --- [nio-8207-exec-2] c.macro.cloud.controller.UserController  : 根据id获取用户信息,用户名称为:macro
复制代码

유통 센터로 Nacos 사용

우리는 nacos - 설정 - 클라이언트 모듈을 생성 및 구성 관리 기능에서 보여주기 위해 구성 정보 Nacos 페이지를 추가 할 수 있습니다.

nacos - 설정 - 클라이언트 모듈 만들기

  • pom.xml 파일에 종속성을 추가 :
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
复制代码
  • 프로필 application.yml 추가 dev에 환경을 가능하도록 구성되어 있습니다 :
spring:
  profiles:
    active: dev
复制代码
  • Nacos 중심의 기능 구성으로서 구성 될 주로 들어, 프로파일 bootstrap.yml 추가 :
server:
  port: 9101
spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos地址
      config:
        server-addr: localhost:8848 #Nacos地址
        file-extension: yaml #这里我们获取的yaml格式的配置
复制代码
  • ConfigClientController가 구성 Nacos 센터에서 구성 정보를 얻을 만들기 :
/**
 * Created by macro on 2019/9/11.
 */
@RestController
@RefreshScope
public class ConfigClientController {

    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/configInfo")
    public String getConfigInfo() {
        return configInfo;
    }
}
复制代码

구성 Nacos 추가

  • 파일 및 SpringBoot 구성 사이의 dataid 및 속성 서신에서 형식 Nacos의 측면에서하자의 구성 :
${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
复制代码
  • 예를 들어, 우리가에 대한 응용 프로그램 이름을 얻으려면 nacos-config-client에서 응용 프로그램 dev의 환경 yaml구성, dataid은 다음과 같습니다 :
nacos-config-client-dev.yaml
复制代码
  • 위의 dataid에 따라 구성을 추가 :
config:
  info: "config info for dev"
复制代码
  • 구성도 채우기 :

config info for dev
复制代码

Nacos 동적 새로 고침 구성

만큼 우리가 다시 구성을 확인하기 위해 구성 정보 Nacos, 호출 인터페이스를 수정, 당신은 구성이 갱신 Nacos하고있다 찾을 지원 동적 새로 고침 구성과 영사. 우리는 구성을 수정하고 Nacos 페이지에 게시하면 응용 프로그램 구성을 갱신하고 다음 정보를 출력합니다

2019-11-06 14:50:49.460  INFO 12372 --- [-localhost_8848] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ec395f8e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-11-06 14:50:49.608  INFO 12372 --- [-localhost_8848] c.a.c.n.c.NacosPropertySourceBuilder     : Loading nacos data, dataId: 'nacos-config-client-dev.yaml', group: 'DEFAULT_GROUP'
2019-11-06 14:50:49.609  INFO 12372 --- [-localhost_8848] b.c.PropertySourceBootstrapConfiguration : Located property source: CompositePropertySource {name='NACOS', propertySources=[NacosPropertySource {name='nacos-config-client-dev.yaml'}, NacosPropertySource {name='nacos-config-client.yaml'}]}
2019-11-06 14:50:49.610  INFO 12372 --- [-localhost_8848] o.s.boot.SpringApplication               : The following profiles are active: dev
2019-11-06 14:50:49.620  INFO 12372 --- [-localhost_8848] o.s.boot.SpringApplication               : Started application in 0.328 seconds (JVM running for 172.085)
2019-11-06 14:50:49.638  INFO 12372 --- [-localhost_8848] o.s.c.e.event.RefreshEventListener       : Refresh keys changed: [config.info]
复制代码

참고 자료

봄 클라우드 알리바바 공식 문서 : github.com/alibaba/spr ...

모듈을 사용하려면

springcloud-learning
├── nacos-config-client -- 用于演示nacos作为配置中心的nacos客户端
├── nacos-user-service -- 注册到nacos的提供User对象CRUD接口的服务
└── nacos-service -- 注册到nacos的ribbon服务调用测试服务
复制代码

프로젝트 소스 주소

github.com/macrozheng/...

있는 공개하지

쇼핑몰 프로젝트 에 연재 전체 튜토리얼 공공 우려 번호 얻기 위해 처음.

있는 공개 사진 없다

추천

출처juejin.im/post/5dcbf7bc5188250d1f5a78ea