SpringCloud学习:Nacos


一、安装以及下载

本文以linux系统作为实例,讲解nacos单机以及集群的搭建。

1、下载nacos地址

nacos下载地址

2、安装以及启动

2.1、单机模式启动

1、将nacos压缩包复制到 /usr/local 路径下,解压压缩包。
2、运行解压命令
tar -zxvf nacos-server-2.0.3.tar.gz
3、运行nacos
进入bin目录下,找到startup.sh启动脚本,运行脚本 ./startup.sh -m standalone ,以单机模式启动,nacos默认是以集群方式启动的。
4、访问nacos地址,nacos配置文件默认是以8848端口号启动,如我的地址
127.0.0.1:8848/nacos进入首页,用户名密码默认都是nacos。
如果报错可以查看/usr/local/nacos/logs/start.out的日志文件,具体的报错信息。

2.2、集群模式启动

nacos通常搭配nginx作为代理来访问。复制三份nacos文件。
1、修改nginx配置文件nginx.conf(记得先备份),添加如下语句

    upstream cluster{
        server 127.0.0.1:3333; 
        server 127.0.0.1:4444;
        server 127.0.0.1:8848;
    }

    server {
        listen       5555;
        server_name  localhost;

                location /nacos/{
                        proxy_pass http://cluster/nacos/;
        }
    }

解释:通过访问127.0.0.1:5555/nacos/,路由到 http://cluster/nacos/;,而cluster是upstream配置的集群路由地址。
2、修改nacos配置文件application.properties
修改路径**/usr/local/nacos/conf** 的文件application.properties,修改端口号server.port=xxxx
3、修改集群配置文件cluster.conf(记得备份)
修改路径**/usr/local/nacos/conf** 的文件cluster.conf,把之前的实例映射注释,添加三个nacos实例的配置如下:

192.168.149.137:3333
192.168.149.137:4444
192.168.149.137:8848

地址为当前nacos的ip端口,和集群总其他nacos的ip端口号。
启动三个nacos服务器,通过nginx代理访问进入nacos首页。nginx默认采用轮询机制。

二、nacos作为注册中心

nacos注册中心官方文档
本位以SpringCloud讲解注册到nacos注册中心。

1.引入pom包

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2、构建yaml文件

server:
  port: 9002
spring:
  application:
    name: nacos-payment-provider
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.149.137:5555 #linux nginx反向代理地址
        enabled: true # 是否开启nacos注册发现
management:
  endpoints:
    web:
      exposure:
        include: '*'

启动SpringCloud服务。如果在nacos页面出现如下页面表示注册成功
nacos注册中心成功示例

3、服务提供方和消费方

客户端可以直接通过注册到nacos的服务名(spring.application.name)来消费接口。

三、nacos作为配置中心

同样nacos作为配置中心通过spingcloud来讲解。

1、引入nacos配置pom包

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

2、完整yaml

在运行服务之前,必须使用 bootstrap.properties 配置文件来配置Nacos Server 地址。如有需要自行查询Springboot的配置文件(bootstrap.properties和application.yml)优先级。

server:
  port: 3377
spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        #        server-addr: localhost:8848
        server-addr: 192.168.149.137:5555 #linux nginx反向代理地址
      #        server-addr: 192.168.149.137:8848 #linux nacos地址
      config:
        #        server-addr: localhost:8848   # nacos地址
        server-addr: 192.168.149.137:5555 #linux nginx反向代理地址
        #        server-addr: 192.168.149.137:8848 #linux nacos地址
        file-extension: yaml # 指定配置文件类型格式
        enabled: true
#        group: DEFAULT_GROUP   # 有三种方式可以group dataID 和namespace配置三种方式区分配置
#        group: DEV_GROUP
#        namespace: 5f196b34-fce1-49d7-ad06-a845edd0bd67 #命名空间
# ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}

3、nacos作为配置中心

1、在 Nacos Spring Cloud 中,dataId 的完整格式如下:

${prefix}-${spring.profiles.active}.${file-extension}

参数说明:

  1. prefix:为配置文件中spring.application.name的值
  2. spring.profiles.active:配置文件激活的对应的环境如dev、test等
  3. file-extension:指定文件的格式,如yaml和properties
    如图:
    nacos参数与springcloud的对应
    2、使用spring原生注解配置动态刷新@RefreshScope

3.1三种配置方式

3.1.1 DataID(通过修改profile)作为配置文件的方式

在nacos注册中心新建两个以dataid为区分的配置。
如:nacos-config-client-dev.yaml和nacos-config-client-test.yaml
通过修改springcloud的spring.profile.active参数激活对应的配置文件,达到动态刷新的效果。

spring:
  profiles:
    active: dev #激活dev环境  对应nacos的nacos-config-client-dev
#	active: test #激活test环境 对应nacos的nacos-config-client-test

nacos配置

3.2、Group作为配置

1、添加group分组
分组展示
2、修改配置文件
group分组配置文件

3.3、Namespace配置

1、新建命名空间
命名空间配置
2、yaml配置
为自动生成的命名空间id,或自己指定的。因为指定了mysql库,查看mysql库可以查看新增了一条数据。
如下:
mysql数据展示
命名空间yaml配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值