【2.2】Java微服务:nacos的使用

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。

🍎个人主页:Meteors.的博客

💞当前专栏: 深度学习

✨特色专栏: 知识分享

🥭本文内容:【2.2】Java微服务:nacos的使用

📚 ** ps ** : 阅读这篇文章如果有问题或者疑惑,欢迎各位在评论区提问或指出!

----------------------------------------------------- 目录 ---------------------------------------------------------

目录

[一. Nacos介绍](#一. Nacos介绍)

[1. 简介](#1. 简介)

[2. 官网介绍](#2. 官网介绍)

[二. 安装](#二. 安装)

1.Windows安装

1.1.下载安装包

1.2.解压

1.3.端口配置

1.4.启动

1.5.访问

三.Nacos入门

[1. 服务注册到Nacos](#1. 服务注册到Nacos)

1)pom文件中添加依赖

2)修改application.yml文件

3)启动并测试

负载均衡

服务注册

[2. 服务多级存储模型](#2. 服务多级存储模型)

1) Nacos服务分级存储模型 Nacos服务分级存储模型)

2)设置集群属性

[3. 根据集群负载均衡](#3. 根据集群负载均衡)

[1. 将服务消费者的yml的集群设为目的集群位置](#1. 将服务消费者的yml的集群设为目的集群位置)

[2. 在消费者中设置负载均衡的IRule为NacosRule](#2. 在消费者中设置负载均衡的IRule为NacosRule)

[3. 将服务提供者的权重都设置为1](#3. 将服务提供者的权重都设置为1)

4.结果

ps:

如果要跨集群

NacosRule负载均衡策略

[4. 权限设置](#4. 权限设置)

参考文献:


- ------------------------------------------------------------------------------------****--------------------------------------------

一. 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服务分级存储模型

  1. 一级是服务,例如userservice
  2. 二级是集群,例如杭州或上海
  3. 三级是实例,例如杭州机房的某台部署了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

最后,

相关内容会陆续更新,希望文章对你有所帮助!

相关推荐
可能是猫猫人4 分钟前
【Python打卡Day39】图像数据与显存 @浙大疏锦行
开发语言·python
爬虫程序猿4 分钟前
利用 Python 爬虫获取 Amazon 商品详情:实战指南
开发语言·爬虫·python
_w_z_j_8 分钟前
C++----剖析stack、queue
开发语言·c++
电院工程师15 分钟前
2.4 Python基础概念:通过一个文字冒险游戏学习编程
开发语言·python·学习·算法·游戏·游戏程序
设计师小聂!20 分钟前
vue3 - 自定义hook
开发语言·javascript·ecmascript
风起云涌~22 分钟前
【Java】BlockQueue
java·开发语言
猫头虎43 分钟前
【Python系列PyCharm实战】ModuleNotFoundError: No module named ‘sklearn’ 系列Bug解决方案大全
android·开发语言·python·pycharm·bug·database·sklearn
北执南念1 小时前
JDK 动态代理和 Cglib 代理的区别?
java·开发语言
盛夏绽放1 小时前
Python 目录操作详解
java·服务器·python
贰拾wan1 小时前
ArrayList源码分析
java·数据结构