nacos简单介绍

本文介绍了Nacos作为微服务注册中心的作用,并详细步骤演示了如何在现有环境中搭建Nacos,将商品微服务和订单微服务注册到Nacos。通过添加依赖、配置启动注解以及设置Nacos服务器地址,实现了服务的注册。同时,通过DiscoveryClient获取服务实例,展示了服务间的调用。最后,验证了订单微服务的成功注册和调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. nacos简介

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速 实现动态服务发现、服务配置、服务元数据及流量管理。

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

2. nacos实战入门

接下来,我们就在现有的环境中加入nacos,并将我们的两个微服务注册上去。

2.1 搭建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

2.2 将商品微服务注册到nacos(主要代码可看Nacos Discovery--服务治理篇)

接下来开始修改 shop-product 模块的代码, 将其注册到nacos服务上

1. pom.xml中添加nacos的依赖

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

2. 在主启动类上添加nacos的开启注解

@EnableDiscoveryClient //开启nacos的注解

3. 在配置文件中添加nacos的配置 

spring.cloud.nacos.server-addr=192.168.0.69:8848

4. 启动服务, 观察nacos的控制面板中是否有注册上来的商品微服务

2.3 将订单微服务注册到nacos

接下来开始修改 shop_order 模块的代码, 将其注册到nacos服务上

1. pom.xml中添加nacos的依赖

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

2. 在主启动类上添加nacos的开启注解

@EnableDiscoveryClient //开启nacos的注解

3. 在配置文件中添加nacos的配置 

spring.cloud.nacos.server-addr=192.168.0.69:8848

 4. 启动服务, 观察nacos的控制面板中是否有注册上来的商品微服务

5. 修改OrderController中的代码 

@RestController
@RequestMapping("order")
public class OrderControllerHandWrite {
    @Autowired
    private OrderService orderService;
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private DiscoveryClient discoveryClient;
    @GetMapping("saveOrder")
    public String saveOrder(Integer pid,Integer num){
        Order order=new Order();
        order.setUsername("yyk");
        order.setNumber(num);
        order.setUid(1);
        order.setPid(pid);

        List<ServiceInstance> instances = discoveryClient.getInstances("shop-product");
        int index= (int) (Math.random()*instances.size());
        ServiceInstance instance = instances.get(index);


        Product product=restTemplate.getForObject(instance.getUri()+"/product/findById/"+pid,Product.class);
        order.setPname(product.getPname());
        order.setPprice(product.getPprice());
        orderService.saveOrder(order);
        return "下单成功";
    }
}

DiscoveryClient是专门负责服务注册和发现的,我们可以通过它获取到注册到注册中心的所有服

务。

6. 启动服务

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值