【SpringCloud之Nacos】学习笔记+使用教程

Nacos学习笔记(防止忘记)

由于博主没有带自己的电脑,还想复习一波,于是只能查阅资料以及靠回忆写这篇笔记,侵删。

一.Nacos简介

阿里的一个开源产品,是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。
(用来实现配置中心和服务注册中心)

1.四大功能:

①服务发现与服务健康监测
②动态配置服务
③动态DNS服务
④服务及其元数据管理

2.服务发现

在微服务架构中一个业务流程需要多个微服务通过网络接口调用完成业务处理,服务消费方从服务注册中心获取服 务提供方的地址,从而进行远程调用,这个过程叫做服务发现。

简而言之,就是服务消费方通过服务发现中心找到服务提供方,从而进行远程调用的过程。

3.服务发现产品还有Eureka、Consul、Zookeeper……

Eureka AP模型
  Consul CP模型
  Zookeeper CP模型
  Nacos CP+AP模型

二.使用

1.确保环境正常

  64位操作系统
  JDK 1.8+
  Maven3.2+


2.下载并启动nacos

  Nacos默认端口为8848,请确保该端口不被占用。

  Linux/Unix/Mac启动:
  #启动命令(standalone代表着单机模式运行,非集群模式)
  sh startup.sh -m standalone
  #如果是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
  bash startup.sh -m standalone

  Windows启动:
  cmd startup.cmd

  确保是否启动成功,访问 http://127.0.0.1:8848/nacos 或  http://localhost:8848/nacos,账号密码默认均为nacos

3.整合SpringBoot

①父工程pom中写依赖管理

 


    
        
            org.springframework.boot
            spring‐boot‐dependencies             
            2.1.3.RELEASE
            pom
            import
        
        
            org.springframework.cloud
            spring‐cloud‐dependencies             
            Greenwich.RELEASE
            pom
            import
        
        
            com.alibaba.cloud
            spring‐cloud‐alibaba‐dependencies             
            2.1.0.RELEASE
            pom
            import
        
    

  ②分别在服务提供及服务消费工程中添加依赖,此依赖的作用是服务发现

 


    com.alibaba.cloud
    spring‐cloud‐starter‐alibaba‐nacos‐discovery

  ③服务注册


  在服务提供方中配置nacos服务发现相关配置
  spring:
  application: 
    name: nacos-provider
  cloud: 
    nacos: 
      discovery: 
        server-addr: 127.0.0.1:8848  

 

  ④服务发现


   在服务消费方配置nacos服务发现相关配置
   spring:
  application: 
    name: nacos-consumer
  cloud: 
    nacos: 
      discovery: 
        server-addr: 127.0.0.1:8848

 

   ⑤启动类写注解@EnableDiscoveryClient

 

   ⑥启动项目,去Nacos页面查看服务是否注册成功

 

4.NameSpace(命名空间)


命名空间(Namespace)用于进行用户粒度的隔离,Namespace 的常用场景之一是不同环境的隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

使用 nacos 可以分别建三个不同的 namespace。

注意:
public是nacos的一个保留空间,创建时不要和public重名。

5.Nacos配置管理


   ①发布配置


   在nacos界面点击 菜单配置管理->配置列表 来发布配置,nacos-consumer服务从nacos读取配置

   Namespace: public  
   Data ID: nacos-consumer.yaml  
   Group  : DEFAULT_GROUP  
   配置格式: YAML  
   配置内容:common: 
                name: application1 config


   ②获取配置


   添加依赖
 


    com.alibaba.cloud      
    spring‐cloud‐starter‐alibaba‐nacos‐config
   

   ③在bootstrap.yml配置


   spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848 # 配置中心地址
        file-extension: yaml
        group: DEFAULT_GROUP

    注意:要使用配置中心就要在bootstrap.yml中来配置,bootstrap.yml配置文件的加载顺序要比application.yml要优先。

 

    ④在nacos-consumer工程中可以写获取nacos配置文件的代码

    @Value("${common.name}")
    private String common_name;    

    @GetMapping(value = "/configs")
    public String getvalue(){return common_name;} 

    如果要实现配置的动态更新,进行如下改造:
    //注入配置文件上下文
    @Autowired 
    private ConfigurableApplicationContext applicationContext;

    @GetMapping(value = "/configs")
    public String getConfigs(){
        return applicationContext.getEnvironment().getProperty("common.name"); }

可以通过配置spring.cloud.nacos.config.refresh.enabled=false来关闭动态刷新


    ⑤配置管理模型


    对于Nacos配置管理,通过Namespace、group、Data ID能够定位到一个配置集。

    例(在yml文件下spring下cloud下nacos下):
    config:
    server‐addr: 127.0.0.1:8848 # 配置中心地址
    file‐extension: yaml
    namespace: a1x8e872‐3117‐48c4‐9de3‐e9ddc2af90a8 #开发环境
    group: DEFAULT_GROUP 

    

 

 

你可能感兴趣的:(SpringCloud,java,开发语言,SpringCloud,spring,cloud,后端)