SpringBoot 개발 사례 Nacos 구성 관리 센터

머리말

개발하는 동안, 우리는 일반적으로 등등, 서비스를 열고 메일 구성을 경고하고, 여부와 같은 특정 기능을 수행하는 몇 가지 매개 변수를 구성합니다. 일반적으로 하드 코딩 구성 파일 또는 데이터베이스의 형태로 달성했다.

질문은 그래서, 어떻게 더 우아한 구현을 할 수? Nacos의 세계에 오신 것을 환영합니다!

Nacos 구성 관리

Nacos 알리바바 오픈 소스 프로젝트, 구성 네임 서비스의 전체 이름은 서비스 검색 및 구성 관리에 초점을 맞추었다.

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

Nacos 생태지도

도. Nacos 파노라마에 나타낸 바와 같이, Nacos 원활한 지원하는 일부 주류 OSS 환경, 예를 들어,

  • 봄 클라우드
  • 아파치 두보와 두보 메쉬 TODO
  • 는 Kubernetes 및 CNCF TODO.

Nacos는 서비스 검색, 구성 관리, 서비스 관리 및 서비스 검색 마이크로, 관리, 공유 결합을 쉽게 가능하게 관리 솔루션을 단순화 할 수 있습니다.

Nacos 봄 부팅 빠른 시작

여기에 스프링 Boot2.x 예제가 :

도입 의존도를 pom.xml 파일 :

<dependency>
      <groupId>com.alibaba.boot</groupId>
      <artifactId>nacos-config-spring-boot-starter</artifactId>
      <version>0.2.1</version>
</dependency>

카테고리를 시작합니다

package com.itstyle.nacos;

import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 启动类
 * 创建者 爪哇笔记 https://blog.52itstyle.vip
 * 创建时间 2019年7月14日
 * dataId 可以根据自己的项目自定义
 * autoRefreshed 是一个布尔值, Nacos 就会把最新的配置推送到该应用的所有机器上,简单而高效。
 */
@SpringBootApplication
@NacosPropertySource(dataId = "itstyle.blog", autoRefreshed = true)
public class Application  {
    private static final Logger logger = LoggerFactory.getLogger(Application.class);

    public static void main(String[] args){
        SpringApplication.run(Application.class, args);
        logger.info("启动");
    }

케이스를 사용하여

package com.itstyle.nacos;

import com.alibaba.nacos.api.config.annotation.NacosValue;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 创建者 爪哇笔记 https://blog.52itstyle.vip
 */
@Controller
@RequestMapping(value = "config")
public class NacosConfigController {


    @NacosValue(value = "${useLocalCache:false}", autoRefreshed = true)
    private boolean useLocalCache;

    @RequestMapping(value = "/get", method = RequestMethod.GET)
    @ResponseBody
    public boolean get() {
        return useLocalCache;
    }
}

프로필 소개 :

# 安全机制,建议走内网、配置防火墙
nacos.config.server-addr=127.0.0.1:8848

서버 설치 구성을 참조하십시오 :

https://nacos.io/zh-cn/docs/quick-start.html

홈페이지 :

dataId는 시스템 구성, 컨텐츠 키 방식의 구성과 일치해야합니다.

데이터베이스의 예

Nacos 서버는 프로덕션 환경을 수정, 기본 포함 된 데이터베이스에서 사용하는 구성 정보를 저장하기 위해 MySQL 데이터베이스를 사용하는 것이 좋습니다.

application.properties은 구성 프로필을 추가 ​​:

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

데이터베이스가 생성 될 수로, nacos-mysql.sql 파일을 찾을 수 Nacos 서버 conf 폴더에있는 데이터베이스를 만듭니다.

Nacos 기본 계정 암호는 다음과 같습니다 nacos는, 암호가 소개해야하는 수정 :

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
</dependency>

그런 다음 코드를 사용하여 암호화 :

package com.itstyle.nacos;

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

/**
 * 创建者 爪哇笔记 https://blog.52itstyle.vip
 */
public class PasswordEncoderUtil {
    public static void main(String[] args) {
        System.out.println(new BCryptPasswordEncoder().encode("nacos"));
    }
}

개요

전반적으로, Nacos는 유통 센터는 단지 작은 기능 중 하나입니다, 매우 편리합니다.

사례 발표

http://47.104.197.9:8848/nacos/

参考

https://nacos.io/en-us/

추천

출처www.cnblogs.com/smallSevens/p/11223830.html