SpringCloudAlibaba——Nacos(服务注册中心)

SpringCloudAlibaba——Nacos

什么是SpringCloudAlibaba

Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与 Spring Cloud 体系的融合

主要功能

在这里插入图片描述
在这里插入图片描述

Nacos

什么是Nacos

一个更易于构建云原生应用的动态服务发现,配置管理和服务管理平台
即,服务注册中心+服务配置中心

Nacos安装

环境为:阿里云服务器Centos7

  1. 下载
    下载地址:https://github.com/alibaba/nacos/releases
    在这里插入图片描述
    在这里插入图片描述

  2. 上传
    使用xftp上传

  3. 解压
    tar -xvf nacos-server-1.4.1.tar.gz

  4. 启动
    进入bin目录:cd nacos/bin
    启动单机模式:sh startup.sh -m standalone

安全组没有配置的需要打开8848端口

  1. 访问测试
    在这里插入图片描述
    默认账号和密码都为nacos

服务注册中心实例

新建三个模块(两个生产者,一个消费着)
cloudalibaba-provider-payment9001
cloudalibaba-provider-payment9002(构建步骤和9001相同)
cloudalibaba-provider-consumer83

cloudalibaba-provider-payment9001

  1. 新建model
    在这里插入图片描述
  2. 改pom
    <dependencies>
            <!--spring cloud alibaba nacos-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>
    
            <!--web/actuator这两个一般一起使用,写在一起-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!--监控-->
            <dependency>
                <groupId>
                    org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
            <!--热部署-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>runtime</scope>
                <optional>true</optional>
            </dependency>
    
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
  3. 改yml
    server:
      port: 9001
    
    spring:
      application:
        name: nacos-payment-provider
      cloud:
        nacos:
          discovery:
            server-addr: xxxxxxx:8848
    
    # 做监控的话:要把这个全部暴露出来
    management:
      endpoints:
        web:
          exposure:
            include: "*"  # 注意是双引号
    
  4. 写业务
    在这里插入图片描述

cloudalibaba-provider-consumer83

  1. 新建model
    在这里插入图片描述

  2. 改pom

    <dependencies>
            <!--spring cloud alibaba nacos-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>
            <!--引入我们自定义的公共api jar包-->
            <dependency>
                <groupId>org.cjd</groupId>
                <artifactId>cloud-api-commons</artifactId>
                <version>${project.version}</version>
            </dependency>
            <!--web/actuator这两个一般一起使用,写在一起-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!--监控-->
            <dependency>
                <groupId>
                    org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
            <!--热部署-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>runtime</scope>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
  3. 改yml

    server:
      port: 83
    
    spring:
      application:
        name: nacos-order-consumer
      cloud:
        nacos:
          discovery:
            server-addr: xxxxx:8848 # 配置nacos注册中心地址
    
    # 消费者将要去访问的微服务名称(成功注册进nacos的微服务提供者)
    server-url:
      nacos-user-service: http://nacos-payment-provider
    
  4. 配置类
    在这里插入图片描述

  5. 业务类
    在这里插入图片描述

启动测试
测试服务是否注册到nacos
测试消费者是否可以轮询调用生产者

Nacos与其它服务注册中心对比

在这里插入图片描述

  • Nacos 支持 AP 和 CP 模式的切换
    如何切换
    curl -X PUT ‘ip地址:8848/nacos/vi/ns/operator/switches?entry=serverMode&value=CP’
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值