nacos 学习笔记入门

2019-07-12  本文已影响0人  黄靠谱

nacos

参考

DIDI的系列,简单入门有demo
https://www.jianshu.com/p/9c98eb1088a3

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

多环境的配置(namespace 区分DEV 、UAT 、 Test, group区分业务)
http://blog.didispace.com/spring-cloud-alibaba-nacos-config-2/

springcloud 阿里巴巴 maven 版本控制
http://blog.didispace.com/spring-cloud-alibaba-version/

启动nacos

  1. 本地安装和运行nacos

后台控制台:
http://localhost:8848/nacos/index.html
默认账号密码 nacos / nacos

nacos的优势

  1. 既有 配置中心 又有 注册中心,而且可以直接写在 application.properties 里面,不需要单独写个 bootstrap.properties 。

  2. 配置中心

  1. 注册中心
    作为注册中心 和eureka一样,都不需要改啥代码,迁移的成本很低,几乎没啥学习成本
    consumer配置
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>0.2.0.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        
    server.port=8072
    spring.application.name=service-consumer
    spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

    @SpringBootApplication
    @EnableDiscoveryClient
    @EnableFeignClients
    public class DemoNacosApplication {
        public static void main(String[] args) {
            SpringApplication.run(DemoNacosApplication.class, args);
        }
    }

    @FeignClient("service-provider")
    public interface ClientRemote{
        @GetMapping(value="/echo/{str}")
        String hello(@PathVariable("str") String str);
    }

dataId (例如 demo-ssm.properties)
{prefix}-{spring.profile.active}.${file-extension}

支持API url,新的会覆盖老的配置
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=demo-ssm.properties&group=DEFAULT_GROUP&content=useLocalCache=true"
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=example.properties&group=DEFAULT_GROUP&content=useLocalCache=false"

curl -X PUT "http://127.0.0.1:8848/nacos/v1/ns/operator/switches?entry=pushEnabled&value=false&debug=false"

curl -X GET "http://127.0.0.1:8848/nacos/v1/ns/operator/switches"

localhost:8080/config/get

缺点

  1. 文档和社区太少了,碰到问题都搜不到解决方案,官网的文档都没那么全。 比如关闭 nacos的API功能,提升安全。这个最为致命

  2. 和SpringCloud的版本兼容性很差,比如 0.2.0Release版本 和 2.0.6版本SB兼容性很好,但是 和2.1.5版本SB,既不报错,也不成功急死人啊。

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>0.2.0.RELEASE</version>
        </dependency>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
上一篇下一篇

猜你喜欢

热点阅读