✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。
🍎个人主页:Meteors.的博客
💞当前专栏:Java微服务
✨特色专栏: 知识分享
🥭本文内容:【2.2】Java微服务:nacos的使用
📚 ** ps ** : 阅读这篇文章如果有问题或者疑惑,欢迎各位在评论区提问或指出!
----------------------------------------------------- 目录 ---------------------------------------------------------
目录
2. 在消费者中设置负载均衡的IRule为NacosRule
---------------------------------------------------------------------------------------------------------------------------------
一. Nacos介绍
1. 简介
Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内欢迎程度较高。
2. 官网介绍
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
二. 安装
1.Windows安装
开发阶段采用单机安装即可。
1.1.下载安装包
在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:
GitHub主页:https://github.com/alibaba/nacos
GitHub的Release下载页:https://github.com/alibaba/nacos/releases
如图:
这里采用2.2.1版本的Nacos,windows版本使用
nacos-server-2.2.1.zip
包即可。
1.2.解压
将这个包解压到任意非中文目录下,如图:
目录说明:
bin:启动脚本
conf:配置文件
1.3.端口配置
Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。
如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口:
修改其中的内容:
1.4.启动
进入bin目录,结构如下:
然后执行命令即可:
-
windows命令:startup.cmd -m standalone
执行后的效果如图:
1.5.访问
在浏览器输入地址:http://127.0.0.1:8848/nacos即可:
默认的账号和密码都是nacos,进入后:
三.Nacos入门
1. 服务注册到Nacos
1)pom文件中添加依赖
<!--nacos的管理依赖--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.5.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency>
<!-- nacos客户端依赖包 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
2)修改application.yml文件
cloud: nacos: server-addr: localhost:8848
3)启动并测试
负载均衡
配置的负载均衡可以生效
服务注册
服务成功注册到Nacos注册中心
2. 服务多级存储模型
1) Nacos服务分级存储模型
- 一级是服务,例如userservice
- 二级是集群,例如杭州或上海
- 三级是实例,例如杭州机房的某台部署了userservice的服务器
2)设置集群属性
在yml文件中添加:
3. 根据集群负载均衡
1. 将服务消费者的yml的集群设为目的集群位置
2. 在消费者中设置负载均衡的IRule为NacosRule
这个规则优先会寻找与自己同集群的服务
3. 将服务提供者的权重都设置为1
4.结果
ps:
如果要跨集群
NacosRule负载均衡策略
- 优先选择同集群服务实例列表
- 本地集群找不到提供者,才去其它集群寻找,并且会报告警告
- 确定了可用实例列表后,再采用随机负载均衡挑选实例
4. 权限设置
通过设置选定一个集群后实例列表的访问权重,来控制服务的访问
参考文献:
Nacos什么是 Nacoshttps://nacos.io/zh-cn/docs/v2/what-is-nacos.htmlSpring Cloud AlibabaLevel up your Java code and explore what Spring can do for you.
https://spring.io/projects/spring-cloud-alibaba
最后,
相关内容会陆续更新,希望文章对你有所帮助!