Spring Cloud Alibaba-Nacos服务治理

一、nacos简介

Nacos是一个更易于构建云原生应用的动态服务发现配置管理服务管理平台。它是 Spring

Cloud Alibaba 组件之一,负责服务注册发现服务配置,可以这样认为nacos=eureka+config

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速

实现动态服务发现、服务配置、服务元数据及流量管理。

从上面的介绍就可以看出,nacos的作用就是一个注册中心,用来管理注册上来的各个微服务。

二、搭建nacos环境

1.下载安装nacos

下载地址: https://github.com/alibaba/nacos/releases

下载zip格式的安装包,然后进行解压缩操作

2.启动nacos

#切换目录

cd nacos/bin

#命令启动

startup.cmd -m standalone

3.访问nacos

打开浏览器输入http://localhost:8848/nacos,即可访问服务, 默认密码是nacos/nacos


将商品微服务注册到nacos

1.将要注册到nacos的微服务的pom文件导入nacos依赖

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

2. 在配置类application.properties中添加nacos配置

(1)被远程调用的服务

#指定nacos注册中心的地址 ip:port
spring.cloud.nacos.discovery.server-addr=localhost:8848

#指定服务器的名称springcloud-product是我的服务器名你需要改成自己的
spring.application.name=springcloud-product

(2)使用调用的服务

#指定nacos注册中心的地址 ip:port
spring.cloud.nacos.discovery.server-addr=localhost:8848
#指定是否把该服务注册到注册中心
spring.cloud.nacos.discovery.register-enabled=false
#指定服务器的名称
spring.application.name=springcloud-order

3.启动服务打开nacos查看是否有注册的服务

 4.修改自己微服务controller的代码

(1)注入DiscoveryClient

@Autowired
    private DiscoveryClient discoveryClient;

(2)修改远程调用的部分功能代码

//根据服务器名称获取对应的所有实例对象
        List<ServiceInstance> instances = discoveryClient.getInstances("springcloud-product");
        //获取第一个实例对象
        ServiceInstance serviceInstance = instances.get(0);
        //获取实例对象的http+ip+端口
        String path = serviceInstance.getUri().toString();
        CommonResult forObject = restTemplate.getForObject(path+"/product/findById/" + pid, CommonResult.class);

5.启动服务,

观察nacos的控制面板中是否有注册上来的订单微服务,然后通过访问消费者服务验证调用是否成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值