当前位置:首页 > 服务端 > Nacos简介

Nacos简介

2022年09月16日 19:13:33服务端2

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

Nacos简介 _ JavaClub全栈架构师技术笔记

2.2 将商品微服务注册到nacos

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

1 pom.xml中添加nacos的依赖

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

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

package com.cyy.product;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * @program: springcloud-parent
 * @description: 主启动类
 * @author: 崔艺耀
 * @create: 2021-07-06 19:33
 **/
@SpringBootApplication
@EnableDiscoveryClient//开启nacos注解

@MapperScan(basePackages = "com.cyy.product.mapper")
public class ProductApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProductApplication.class,args);
    }
}

3.在application.propreties添加nacos的配置

#配置nacos注册中心的地址
spring.cloud.nacos.server-addr=localhost:8848

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

Nacos简介 _ JavaClub全栈架构师技术笔记

2.3 将订单微服务注册到nacos上

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

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

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

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

package com.cyy.order;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

/**
 * @program: springcloud-parent
 * @description: 主启动类
 * @author: 崔艺耀
 * @create: 2021-07-06 20:25
 **/
@SpringBootApplication
@EnableDiscoveryClient//开启nacos注解
@MapperScan(basePackages = "com.cyy.order.mapper")
public class OrderApplication {
    public static void main(String[] args) {
        SpringApplication.run(com.cyy.order.OrderApplication.class,args);
    }
    @Bean
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}

3.在application.properties中添加nacos服务的地址

spring.application.name=order
spring.cloud.nacos.server-addr=localhost:8848

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

Nacos简介 _ JavaClub全栈架构师技术笔记

5.修改OrderController中的代码

package com.cyy.order.controller;

import com.cyy.entry.Order;
import com.cyy.entry.Product;
import com.cyy.order.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import java.util.List;

/**
 * @program: springcloud
 * @description: 订单的控制层
 * @author: 崔艺耀
 * @create: 2021-07-06 16:30
 **/
//@RestController
//@RequestMapping("order")
public class OrderController_write {
    @Autowired
    private OrderService orderService;
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private DiscoveryClient discoveryClient;

    @GetMapping("saveOrder")
    public String saveOrder(Integer pid,Integer num){//商品id 购买数量 收货地址
        Order order=new Order();
        order.setNumber(num);//设置订单的数量
        order.setUid(1);
        order.setUsername("崔艺耀");

        order.setPid(pid);
        //根据商品id查询商品对应的信息--->调用远程商品服务
        //基于TCP协议--rpc远程方法调用 速度快 但是非常消耗资源 因为TCP属于常链接
        //基于HTTP协议---->速度慢 但是资源消耗少 属于短链接

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

        ServiceInstance instance = instances.get(index);
        Product product = restTemplate.getForObject(instance.getUri()+"/product/selectById/" +
                pid, Product.class);

        order.setPname(product.getPname());
        order.setPprice(product.getPprice());
        orderService.saveOrder(order);
        return  "下单成功";
    }
}

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

Nacos简介 _ JavaClub全栈架构师技术笔记

作者:Hedeghog_cyy
来源链接:https://blog.csdn.net/Hedeghog_cyy/article/details/118555486

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/42285.html

标签: Nacos
分享给朋友:

“Nacos简介” 的相关文章

SpringBoot项目改为SpringCloud项目使用nacos作为注册中心

SpringBoot项目改为SpringCloud项目使用nacos作为注册中心

本章讲解的是在不改变原有业务的情况下将springboot改为springcloud项目使用nacos作为注册中心 首先在官网下载好nacos注册中心,在bin目录中startup.cmd文件为启动命令默认端口号是8888 接下来修改原有项目依赖...

Nacos 启动失败

Nacos 启动失败

由于最近学习 SpringCloudAlibaba ,故将学习过程中出现的问题加以总结。 Nacos 学习时遇到的问题 下载最新的 Nacos 版本在 Windows 直接运行脚本启动,首先报错第一个问题如下: java.lang....

nacos启动教程

nacos启动教程

1、下载nacos压缩包 链接:https://pan.baidu.com/s/1PE6D73rIuOhnfvKVqvDwhA  提取码:oj9y 2、解压  3、修改conf里的配置文件(application.properties...

Nacos数据库配置

Nacos数据库配置

本文来说下nacos数据库配置 文章目录 Nacos控制面板,新建配置 Nacos数据库配置 初始化mysql 修改配置文件 本文小结...

ubuntu安装nacos

ubuntu安装nacos

1.下载nacos,github下载地址:https://github.com/alibaba/nacos/releases 选用目前最新的版本:1.3.0,这个版本直接在页面就可以修改nacos登录密码,并且还可以创建其他的登录用户,之前用过1.0.0版本如果修改naco...

Nacos安装及启动

Nacos安装及启动

目录 Nacos是什么 为什么要选择Nacos 环境准备 获取Nacos安装包 通过官网下载安装包 通过源码编译获取安装包 启...

SpringCloud项目中使用Nacos作为注册中心

SpringCloud项目中使用Nacos作为注册中心

SpringCloud和Nacos的介绍原理在这里就不多说了,百度一大堆,这里就只是记录一下刚开始学习时候项目的使用过程 Nacos-server 我这里是从官网下载的Nacos-server 下载地址: https://github.com/alibaba...

Nacos快速入门(一):Nacos初探

Nacos快速入门(一):Nacos初探

1、简介 Nacos官网:https://nacos.io/zh-cn/index.html 1.1、概览 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服...

Nacos集群出现NacosException: Client not connected,current status:STARTING

Nacos集群出现NacosException: Client not connected,current status:STARTING

该问题出现,可能是如下两个原因: 1.gRPC的通信方式的问题 解决方案:按照如下方式搭建Nacos集群就不会出现该问题 2.版本原因 alibab官方推荐的版本虽然是这样的,但是本人在使用,红框中的版本时,还是有问题 解决方案: 将springClo...

nacos 性能监控

nacos 性能监控

nacos 性能监控          官网:https://nacos.io/zh-cn/docs/monitor-guide.html    ...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。