江苏润祥建设集团网站,潍坊市坊子区建设局网站,凡客另一购物网站,男生浏览器推荐【Spring Cloud Alibaba】003-Nacos 概述与单机搭建 文章目录【Spring Cloud Alibaba】003-Nacos 概述与单机搭建一、Nacos 概述0、新技术学习思路推荐1、什么是 Nacos2、架构图架构图架构图信息二、Nacos 单机搭建1、下载与启动下载地址编辑 startup.cmd 文件下面对两种模式的…【Spring Cloud Alibaba】003-Nacos 概述与单机搭建 文章目录【Spring Cloud Alibaba】003-Nacos 概述与单机搭建一、Nacos 概述0、新技术学习思路推荐1、什么是 Nacos2、架构图架构图架构图信息二、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、架构图
架构图 架构图信息
从最上层开始看首先就是 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)]
下面对两种模式的判断 其他配置说明
数据源如果没有配置则默认存在内存里。
启动 在这里提醒一点Nacos 建议在内部隔离网络环境中部署强烈建议不要部署在公共网络环境中。Nacos 属于微服务内部所使用的组件是没有必要暴露在公网当中。 访问 2、修改项目
第一步在两个子项目的 pom.xml 文件下加入依赖
!-- nacos --
dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId
/dependency第二步设置两个子项目的应用名
server:port: 8081
spring:application:name: stock-servicecloud:nacos:server-addr: localhost:8848discovery:username: nacospassword: nacosnamespace: publicserver:port: 8080
spring:application:name: order-servicecloud:nacos:server-addr: localhost:8848discovery:username: nacospassword: nacosnamespace: public第三步启动两个子项目 第四步访问 nacos 查看服务列表 第五步测试停掉 stock 服务
停止服务 查看 nacos 服务列表 第六步远程调用演示
修改代码 加依赖到订单服务
!-- loadbalancer --
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-loadbalancer/artifactId
/dependency加负载均衡注解 重启并访问测试