美文网首页
Nacos初探

Nacos初探

作者: 八步里 | 来源:发表于2020-07-23 23:28 被阅读0次

    Nacos服务发现

    在分布式系统中我们会将多个微服务上线在不同的服务器中,我们应该如何去发现不同网络位置的服务呢(IP+端口),Nacos是spring cloud 阿里巴巴的中提供服务注册和发现的中间件,官网如下:
    https://nacos.io/zh-cn/docs/quick-start.html
    他作为多个微服务的管理中央系统,每一个微服务都需要在这个管理中心去注册(提供网络中的位置和对应的服务名),微服务就可以通过服务名在管理中央获取到对应的网络位置进而利用RPC的多种实现(如openfeign和duboo)远程服务调用,也即Java对象在网络环境的序列化操作。

    1. 下载
      Nacos是基于Java开发因此运行需要jdk1.8+
      你可以通过源码和发行包两种方式来获取 Nacos。

    (1)从 Github 上下载源码方式

    git clone https://github.com/alibaba/nacos.git
    cd nacos/
    mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  
    ls -al distribution/target/
    
    // change the $version to your actual path
    cd distribution/target/nacos-server-$version/nacos/bin
    

    (2)下载编译后压缩包方式
    官网下载比较慢,我把最新版的nacos-server提供如下:

    链接:https://pan.baidu.com/s/19hCqOEDdhRE6rIWtv0YlBA
    提取码:66kx

    需要在centos7中安装unzip的插件

    yum install -y unzip zip
    

    然后

     unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
      cd nacos/bin
    

    可以用-d 指定解压位置

    1. 启动
      Linux/Unix/Mac启动命令(standalone代表着单机模式运行,非集群模式):
    sh startup.sh -m standalone
    

    如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:

    bash startup.sh -m standalone
    

    Windows启动命令:

    cmd startup.cmd
    

    或者双击startup.cmd运行文件。

    1. 登录管理页面
      http://IP:8848/nacos/index.html
      默认账号密码为nacos
      nacos页面
    2. 关闭服务器
      Linux/Unix/Mac
    sh shutdown.sh
    

    Windows

    cmd shutdown.cmd
    

    或者双击shutdown.cmd运行文件。

    1. 在Java中配置
      在commo的pom.xml中引入依赖(公共依赖)
    依赖

    在每一个微服务application.yml配置Nacos Server地址


    Nacos Server

    在每一个微服务的启动类添加注解@EnableDiscoveryClient中开启服务发现


    开启服务发现

    Nacos配置中心

    一个微服务可能运行在多个服务器上,而服务(程序)运行都是需要依赖配置文件,若对一个微服务进行的配置修改就需要对多台服务器进行登录修改,若是硬编码的方式还需要进行打包,那么有一个配置中心将配置文件抽离进行管理的话便可以实现配置信息和实际业务代码的解耦并且在分布式惯用服务集群上更加有优势。
    在commo的pom.xml中引入依赖(公共依赖)

    依赖
    在每一个微服务新建一个bootstrap.properties(加载顺序优先于application.properties)配置Nacos Config元数据
    image.png
    在controller添加注解@RefreshScope动态刷新配置,实时更新,@value(“${配置项的名字}”)获取配置的值;定义要配置的参数,并写测试方法,
    导入
    详细可见:
    https://nacos.io/zh-cn/docs/quick-start.html

    相关文章

      网友评论

          本文标题:Nacos初探

          本文链接:https://www.haomeiwen.com/subject/syvklktx.html