nacos基本使用
1. 说在前面
我一直觉得,了解一个新鲜的技术,最应该看的是技术的官网,或者是github的README.md。而不是看各种博客上的东西,这样对我们了解一个新的东西可能会产生很多的误解。
2. 官网
对于官方上的介绍:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
这里提到的几点,我们需要注意的是动态服务发现,配置管理,服务管理。
这也就是我们在学习了nacos之后能够做到的事,当然也可以理解为能够解决的问题。
2.1 功能
2.1.1 动态配置服务
动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。
这段介绍,做做阅读理解就是,我们可以动态管理我们开发环境和生产环境的配置。可以进行动态配置,当我们修改一个配置的时候不用再进行重新部署应用,这点大家应该都是知道的,springboot项目修改一个server.port=9001也是需要进行重新项目的。而nacos就可以消除这个。当然怎么消除,得进行学习。
配置的中心化管理实现无状态服务。这句话是什么意思呢?首先我们要了解什么是无状态服务。
这里你可以自行百度一下,比如服务的有状态和无状态 ,我这里引用一下那篇博客说的,很快就懂了
有状态服务
在商城里购买一件商品。需要经过放入购物车、确认订单、付款等多个步骤。
由于HTTP协议本身是无状态的,所以为了实现有状态服务,就需要通过一些额外的方 案。比如最常见的session,将用户挑选的商品(购物车),保存到session中,当付款的时候,再从购物车里取出商品信息
无状态服务
对于客户端来说,就可以将请求发送到任意一台server上,而这个请求里面包含了唯一确定的用户信息,这样的技术有jwt
如果你已经明白了无状态服务,那么如果说无状态服务可以更好的通过负载均衡 等手段,实现水平扩展。这个你也应该是理解的。
2.1.2 服务发现及管理
动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,您可以更容易地为您的服务实现断路器。
这段介绍给我的理解就是说,可以集成dubbo。健康检查就是会定期检查注册到nacos上的服务是不是还存活,这个和zookeeper临时节点有点类似,如果你有相关的经验的话。还说到了nacos可以实现断路器。
断路器又是什么呢?占用两分钟的时间看个小视频微服务中的断路器模式
2.1.3 动态DNS服务
通过支持权重路由,动态DNS服务能让您轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单DNS解析服务。动态DNS服务还能让您更容易地实现以DNS协议为基础的服务发现,以消除耦合到厂商私有服务发现API上的风险。
对于路由这块本人也实在是不太了解哈哈,但是从后面的负载均衡,流量控制,服务发现。我想大家都是知道的。
ok,看完了官网的介绍,我们对nacos其实知道了一下它的功能,能够帮我们解决一下什么样的问题。这时候可以想象自己如果是nacos的产品经理,当出去吹nacos的时候,肯定就可以挑这里面的特点进行宣传和介绍。
3. 安装
说了太多不是重点的东西,来下载一个玩玩。现在官网上给到的推荐稳定版本是1.4.1.
这是官网的快速开始,其实也就是接下来的内容
3.1 下载源码或者安装包
3.1.1 从 Github 上下载源码方式
git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/
// 进入你下载的nacos版本对应的位置
cd distribution/target/nacos-server-$version/nacosjs
3.1.2 下载编译后压缩包方式
您可以从 最新稳定版本 下载 nacos-server-$version.zip 包。
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
cd nacos/bin
4. 启动服务器
4.1 Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
4.2 Windows
启动命令(standalone代表着单机模式运行,非集群模式):
cmd startup.cmd -m standalone

通过你的浏览器进行访问一下,地址:http://127.0.0.1:8848/nacos/index.html#/login
账号密码都是nacos

5. 服务注册&发现和配置管理
5.1 服务注册
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
当然我们在windows上没有curl操作,可以通过postman来进行
再回到我们的浏览器进行查看,当然你的速度可能要快一点,不然超时时间到了就看不到了

5.2 服务发现
curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'