spring cloud alibaba nacos部署启动

1. 父pom版本


    org.springframework.boot
    spring-boot-starter-parent
    2.1.3.RELEASE
     



   
      
	org.springframework.cloud
	spring-cloud-alibaba-dependencies
	0.9.0.RELEASE
	pom
      
   

阿里巴巴中间件推文:https://mp.weixin.qq.com/s/poFmP0qScdrxVaeZuFz0Mw

spring cloud alibaba nacos部署启动_第1张图片

2. 安装nacos服务, docker方式

nacos官网:https://nacos.io/zh-cn/docs/what-is-nacos.html

docker search nacos
docker pull nacos/nacos-server
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server

启动后访问: ip:8848/nacos/index.html
账号密码:nacos/nacos
Nacos单机模式默认使用内嵌的数据库作为存储引擎, 生产环境应使用集群模式

2.1. 启动配置管理


    org.springframework.cloud
    spring-cloud-starter-alibaba-nacos-config
配置文件:bootstrap.yml

spring:
  profiles:
    active: dev
  application:
    name: ecg-system
  cloud:
    nacos:
      config:
        server-addr: 172.17.0.120:8848
        fileExtension: yml

server:
  port: 8008
ccc:
  name: swell
@SpringBootApplication
@RestController
@RefreshScope //spring cloud 原生注解 @RefreshScope 实现配置自动更新
public class EcgSystemApplication {

    public static void main(String[] args) {
        SpringApplication.run(EcgSystemApplication.class, args);
    }

    @Value("${ccc.name}")
    private String useLocalCache;

    @RequestMapping("/get")
    public String get() {
        return useLocalCache;
    }
}

spring cloud alibaba nacos部署启动_第2张图片

图中Data ID组成格式:   ${prefix}-${spring.profile.active}.${file-extension},prefix: 应用名。详情看官网

即: ecg-system-dev.yml  访问 localhost:8018/get  可看到最新配置

注:可通过环境变量区分dev, test, prod 把相关属性写入nacos,很多配置不放在本地,本地yml干净整洁,

       nacos配置文件由运维管理员管理,安全+1

3.1 启动服务发现


    org.springframework.cloud
    spring-cloud-starter-alibaba-nacos-discovery
配置文件: bootstrap.yml

spring:
  profiles:
    active: dev
  application:
    name: ecg-system
  cloud:
    nacos:
      config:
        server-addr: 172.16.0.251:8848
        fileExtension: yml
      discovery:
        server-addr: 172.16.0.251:8848
@SpringBootApplication
@EnableDiscoveryClient  //Spring Cloud 原生注解 @EnableDiscoveryClient 开启服务注册发现功能
@RestController
@RefreshScope
public class EcgSystemApplication {

    public static void main(String[] args) {
        SpringApplication.run(EcgSystemApplication.class, args);
    }
}

服务已注册上:

 

spring cloud alibaba nacos部署启动_第3张图片

你可能感兴趣的:(spring cloud alibaba nacos部署启动)