0
点赞
收藏
分享

微信扫一扫

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建


【Spring Cloud Alibaba】003-Nacos 概述与单机搭建

文章目录

  • ​​【Spring Cloud Alibaba】003-Nacos 概述与单机搭建​​
  • ​​一、Nacos 概述​​
  • ​​0、新技术学习思路推荐​​
  • ​​1、什么是 Nacos​​
  • ​​2、架构图​​
  • ​​架构图​​
  • ​​架构图信息​​
  • ​​二、Nacos 单机搭建​​
  • ​​1、下载与启动​​
  • ​​下载地址​​
  • ​​编辑 startup.cmd 文件​​
  • ​​下面对两种模式的判断​​
  • ​​其他配置说明​​
  • ​​启动​​
  • ​​访问​​
  • ​​2、修改项目​​
  • ​​第一步:在两个子项目的 pom.xml 文件下加入依赖​​
  • ​​第二步:设置两个子项目的应用名​​
  • ​​第三步:启动两个子项目​​
  • ​​第四步:访问 nacos 查看服务列表​​
  • ​​第五步:测试停掉 stock 服务​​
  • ​​第六步:远程调用演示​​

一、Nacos 概述

0、新技术学习思路推荐

  • 先找到对应​​官方文档​​,看看官方介绍;
  • 然后找到​​核心架构图​​,架构图是能够很直观看出核心理念的;
  • 紧接着​​动手实战​​一波,加深理解;
  • 最后思考实现原理,尝试通过​​源码分析​​,找到答案。

1、什么是 Nacos

在早期 Spring Cloud 开始流行的时候,Eureka 使用得比较广泛,后来这个项目在 2018 年 7 月份的时候,官方宣布不再维护 Eureka 2.0 了,再来后阿里推出全新 Spring Cloud Alibaba 系列,其中 Nacos 就是一员。

官网地址:https://nacos.io/zh-cn/index.html

github 地址:https://github.com/alibaba/nacos

open-api 地址:https://nacos.io/zh-cn/docs/open-api.html

官方:一个更易于构建云原生应用动态服务发现、配置管理和服务管理平台。

动态服务发现:当新增一个微服务实例,Nacos 它能够感知到,也就是​​服务治理​​,这也是作为注册中心最基本的功能。

配置管理:Nacos 它不仅仅是一款注册中心,它还提供了配置管理一大特点,不仅是对服务进行管理,而且还可以管理你项目中对应的配置文件,让你整个微服务项目配置中心化,统一全部放在 Nacos 配置管理中;除此之外,它还是动态化的。那什么是动态化?举个例子,在 Spring Boot 项目中,会包含 properties、yml 配置文件,在项目启动中,如果想要修改对应的配置文件,是需要重启应用,更改后的配置文件才能生效。而 Nacos 的配置管理,它可以让你在更改配置文件后,无需重启应用,即可生效。

服务管理平台:Nacos 它提供了一套 Web 管理后台,在这个后台中,我们可以监控整个服务运行状态以及对配置管理进行操作。

Nacos 解决了微服务实例之间调用关系错综复杂、难以维护的问题!

2、架构图

架构图

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建_spring

架构图信息

从最上层开始看,首先就是 Provider(提供者)、Consumer(消费者),都需要借助于 Name(服务名称、服务地址),这是最外层。Provider、Consumer 都是需要依赖 Nacos Server

接着往下看,Nacos Server 最上层,有一层 OpenAPI,对外提供服务。那对外提供什么服务呢?

  • ​Naming Service​​ :注册服务,我们微服务实例的注册、注销、服务管理都是在这一块进行实现的。
  • ​Config Service​​:配置服务,它提供了在微服务架构中,统一配置中心的功能。 Nacos 配置中心为服务配置提供了编辑、存储、分发、变更管理、历史版本管理等功能,并且支持在实例运行中,更改配置。

除此之外,Naming Service、Config Service 也是依赖于 Nacos Core 核心来完成的,并且在 Nacos Core 核心中还包含了​​Consistency Protocol​​(一致性协议),这一块就涉及到分布式一致性协议的内容,包括 CAP 理论、Raft 协议,这些也都是我们在使用微服务架构中需要考虑的问题。

至于 Nacos Console,这一整块相当于服务管理平台,也是依赖于 Nacos 提供的 OpenAPI 来进行扩展的额外功能。

重点:Config Server 对应配置管理中心、Naming Service 对应注册中心。

二、Nacos 单机搭建

1、下载与启动

下载地址

下载我们选择的 spring cloud alibba 版本对应的 nacos 版本,在这里可以看到:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

我这里下载这个(windows系统):​​nacos-server-2.0.4.zip​​

​​https://github.com/alibaba/nacos/releases​​

编辑 startup.cmd 文件

从解压后得到的目录里面找到​​nacos\bin\startup.cmd​​文件,由于默认配置是集群,我们改成单机模式

**不修改配置的启动方法:**单机:​​startup.cmd -m standalone​​​ 集群:​​startup.cmd -m cluster​​ 其他系统类似!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kYRyoyne-1676962815399)(https://gudu2019.oss-cn-beijing.aliyuncs.com/mdimg/image-20230221135142353.png)]

下面对两种模式的判断

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建_spring_02

其他配置说明

数据源,如果没有配置,则默认存在内存里。

启动

在这里​​提醒一点​​,Nacos 建议在内部隔离网络环境中部署,强烈建议不要部署在公共网络环境中。Nacos 属于微服务内部所使用的组件,是没有必要暴露在公网当中。

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建_java_03

访问

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建_spring_04

2、修改项目

第一步:在两个子项目的 pom.xml 文件下加入依赖

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

第二步:设置两个子项目的应用名

server:
port: 8081
spring:
application:
name: stock-service
cloud:
nacos:
server-addr: localhost:8848
discovery:
username: nacos
password: nacos
namespace: public

server:
port: 8080
spring:
application:
name: order-service
cloud:
nacos:
server-addr: localhost:8848
discovery:
username: nacos
password: nacos
namespace: public

第三步:启动两个子项目

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建_java_05

第四步:访问 nacos 查看服务列表

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建_eureka_06

第五步:测试停掉 stock 服务

停止服务

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建_eureka_07

查看 nacos 服务列表

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建_eureka_08

第六步:远程调用演示

修改代码

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建_微服务_09

加依赖到订单服务

这个依赖不一定要加,如果不报错则不用加了!

<!-- loadbalancer -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

加负载均衡注解

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建_微服务_10

重启并访问测试

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建_eureka_11


举报

相关推荐

0 条评论