springcloud-Nacos 更强大的注册中心组件

Nacos

实际上从设计思想来说 Eureka 和 nacos 是一样的。
后者是Alibaba推出的 一款更强大 功能更丰富的注册中心
你可以理解为Eureka的高配版

技多不压身既然了解了 Eureka, nacos也来学习一下吧!

安装

首先nacos不像eureka 直接pom里面引个依赖就搞定了,它需要单独的安装 总体就几步 安装 配置 启动 访问

NacosGitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:

GitHub主页:https://github.com/alibaba/nacos

GitHubRelease下载页:https://github.com/alibaba/nacos/releases

Nacos默认端口是8848

安装到本地目录之后 到bin文件夹下 输入单机模式启动命令:

  startup.cmd -m standalone

依赖

首先在项目最外层的pom里面 导入管理依赖:

         <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>

然后在具体的服务里导入客户端依赖,然后把eureka注释掉(为什么叫客户端 和eureka同理 每个服务都是nacos的客户)

        <!--eureka客户端依赖-->
<!--        <dependency>-->
<!--            <groupId>org.springframework.cloud</groupId>-->
<!--            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>-->
<!--        </dependency>-->
        <!-- nacos客户端依赖包 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

然后我们启动 会发现 已经注册了2个实例 和eureka同理:

在这里插入图片描述
ok 这里就是nacos的基础使用 下面讲两个重要的特性:

服务多级存储模型

回到上面的例子 服务A 要调用 服务B, 但是在实际的生产环境中,服务B可能有成百上千的实例 而且还不在一个城市 比如深圳机房有100个
广州机房有20个 (异地容灾) 一共120个。
当你的服务A 发送一个请求的时候 注册中心发现有120个实例 根据正常的负载均衡原则 那就120个里面挑一个。

但是 因为异地的那20个是以防不测的 正常情况下你跨城市调会比较慢 我希望是请求过来就优先调 深圳的100个实例 如果这100个全挂了 就去调异地的。

所以我们明确一下 nacos里面的集群 就是同在一个地区或者一个机房的多个实例:

在这里插入图片描述
配置其实很简单:

在这里插入图片描述
这里的cluster-name 名字我们自定义就好了 你想让它优先调那个集群就选哪个集群。

环境隔离

环境隔离是一个非常重要的特性,刚才的集群隔离是为了负载均衡 和异地容灾, 而环境隔离一般是我们的开发环境 测试环境 生产环境做隔离,如果大家用过Apollo 动态配置的话就很好理解这个概念。

我们在实际工作中 有很多机器是测试环境用的 有很多机器是生产环境用的, 它们之间肯定是严格隔离的! 当一个测试环境服务A去注册中心找服务B的时候 nacos能把生产环境B给你调吗? 肯定是不行的

所以在nacos里面对所有注册给它的实例 要进行第一级划分就是环境划分,比如配置了dev环境的实例都放一起 让它们相互调用

我们可以在nacos的 命名空间 里面创建独立的命名空间 比如dev test pro

再把它的id配置到application.yml就好了:
在这里插入图片描述
在这里插入图片描述

上面的这些对我们开发人员来说最重要的是理解,因为实际工作中 这些配置都是运维搞的 不需要我们手动配这些,重要的是你要知道nacos这些特性 理解这些配置属性名称代表什么 别一看不认识


最后留一个问题 我们说了配置命名空间和集群 就是application.yml加一行配置就可以了。

可问题来了 现在有10万个机器 每个服务器上部署了一个服务 需要配置命名空间和集群

难道让运维一个一个一个 上去改吗。。。。。。。。

这个怎么解决

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/483163.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

odoo17开发教程(17):美化UI界面

从业务角度来看&#xff0c;我们的房地产模块现在很有意义。我们创建了特定的视图&#xff0c;添加了几个操作按钮和约束条件。不过&#xff0c;我们的用户界面还有些粗糙。我们希望在列表视图中添加一些颜色&#xff0c;并使一些字段和按钮有条件地消失。例如&#xff0c;&quo…

Webman全局异常捕获处理

最近在使用webman这个框架做项目开发&#xff0c;涉及到需要统一处理异常捕获。由于官网给的并不详细&#xff0c;于是自己实现了一下全局异常处理类。 一、配置效果 例如&#xff1a;我要在项目中统一返回json 格式数据&#xff0c;并不想在业务层写try,catch逻辑。 或者在业务…

从产品组装和维护/维修的角度来看,基于增强现实的指导:关于挑战和机遇的最新综述

作者&#xff1a; 1. M. Eswaran 2. Anil Kumar Gulivindala 3. M.V.A.Raju Bahubalendruni 关于本文 •分析了增强现实在装配和维护/维修中的作用。 •讨论了AR辅助制造系统的软件和硬件元素。 •讨论了AR跟踪和配准技术面临的挑战。 •讨论了AR辅助制造系统的未来…

使用插件将swagger文档转html或pdf

github上有maven开源插件swagger2markup将swagger文档转为.adoc格式的文档&#xff0c;另外一个maven开源插件asciidoctorj-pdf则可以将.adoc格式的文档转为html和pdf。由于GitHub访问不稳定&#xff0c;在gitee上有镜像项目。所以我就贴gitee上的项目地址了。 实现从swagger文…

【聊一聊】三种工厂模式的创建

三种工厂模式的创建 今天终于星期五了,最近由于碰上一个需求,中间涉及Oracle改国产数据库的改造,好家伙,差点没把我忙坏了 不过今天终于有空啦!~哈哈哈 这篇本应该是上周就结束的,但是拖到今天,我们就今天进行结束 (还有一件快乐的事情,就是我遇见自己喜欢的人啦!嘻嘻) 好啦!~话…

【数字图像处理matlab系列】数组索引

【数字图像处理matlab系列】数组索引 【先赞后看养成习惯】【求点赞+关注+收藏】 MATLAB 支持大量功能强大的索引方案,这些索引方案不仅简化了数组操作,而且提高了程序的运行效率。 1. 向量索引 维数为1xN的数组称为行向量。行向量中元素的存取是使用一维索引进行的。因此…

如何解决Layui后台接口返回数据,但是table.render不渲染表格数据的问题

我这边进行了pareData数据格式转换&#xff0c;response重新定义了layui的参数格式规范 接口正常返回了数据 但是就是不渲染&#xff0c;我这个郁闷啊&#xff01;&#xff01; 忽然&#xff0c;我把后台重新定义的layui规定的格式参数&#xff0c;有个参数名叫data&#xff0…

037—pandas 按指定列堆叠数据

前言 在数据分析中&#xff0c;我们经常需要对数据进行堆叠操作&#xff0c;但 Pandas 提供的 df.stack() 只能按默认索引进行操作&#xff0c;同时堆叠后的列名无法指定&#xff0c;本列我们就来解决这些问题。 读入数据 代码如下&#xff08;示例&#xff09;&#xff1a;…

关于php foreach函数和变量覆盖

foreach函数是PHP中用于遍历数组或对象的函数&#xff08;且仅用于数组的遍历&#xff09;。它允许循环遍历数组中的每个元素&#xff0c;并对每个元素执行相同的操作。foreach语句的基本语法如下&#xff1a; foreach ($array as $value) {//执行的操作 }在这个语法中&#x…

政安晨:【深度学习部署】—— TensorFlow Extended(TFX)介绍

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎机器学习 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 前言 TensorFlow Extended&#xff08;TFX&a…

Orbit 使用指南 10|在机器人上安装传感器 | Isaac Sim | Omniverse

如是我闻&#xff1a; 资产类&#xff08;asset classes&#xff09;允许我们创建和模拟机器人&#xff0c;而传感器 (sensors) 则帮助我们获取关于环境的信息&#xff0c;获取不同的本体感知和外界感知信息。例如&#xff0c;摄像头传感器可用于获取环境的视觉信息&#xff0c…

5.windows Ubuntu 子系统,测序数据质量检测。

我们在得到一组或几组测序数据后&#xff0c;比如从测序公司拿到的测序数据为fastq.gz格式&#xff0c;首先我们需要对它们进行MD5检验&#xff0c;确保数据没有问题后才可进入以后的程序。&#xff08;MD5可以进行测序数据完整性验证&#xff1a;MD5可以用于验证数据在传输或存…

IPMI开源库pyghmi基本使用

简介&#xff1a;Pyghmi是一个纯Python&#xff08;主要是IPMI&#xff09;服务器管理库。IPMI&#xff08;Intelligent Platform Management Interface&#xff0c;智能平台管理接口&#xff09;是一种开放的标准&#xff0c;旨在帮助系统管理员在本地和远程管理服务器系统。而…

第十届蓝桥杯大赛个人赛省赛(软件类)真题- CC++ 研究生组-最短路

6 肉眼观察&#xff0c; 看起来短的几条路对比下来是6~ #include <iostream> using namespace std; int main() {printf("6");return 0; }

AcWing 2060. 奶牛选美(每日一题)

目录 题目&#xff1a; 解题思路&#xff1a; 总结&#xff1a; 原题链接&#xff1a;2060. 奶牛选美 - AcWing题库 题目&#xff1a; 听说最近两斑点的奶牛最受欢迎&#xff0c;约翰立即购进了一批两斑点牛。 不幸的是&#xff0c;时尚潮流往往变化很快&#xff0c;当前…

[C语言]结构体、位段、枚举常量、联合体

目录 结构体 结构体的使用方法 结构体所占用的大小 位段 位段的使用方法 位段所占用的大小 枚举常量 枚举常量的使用方法 枚举常量的优势 联合体 联合体的使用方法 结构体 结构体的使用方法 结构体是一些值的集合&#xff0c;我们可以定义一个结构体&#xff0c;里…

实例:NX二次开发使用链表进行拉伸功能(链表相关功能练习)

一、概述 在进行批量操作时经常会利用链表进行存放相应特征的TAG值&#xff0c;以便后续操作&#xff0c;最常见的就是拉伸功能。这里我们以拉伸功能为例子进行说明。 二、常用链表相关函数 UF_MODL_create_list 创建一个链表&#xff0c;并返回链表的头指针。…

STM32---DHT11温湿度传感器与BH1750FVI光照传感器(HAL库、含源码)

写在前面&#xff1a;本节我们学习使用两个常见的传感器模块&#xff0c;分别为DHT11温湿度传感器以及BH1750FVI光照传感器,这两种传感器在对于环境监测中具有十分重要的作用&#xff0c;因为其使用简单方便&#xff0c;所以经常被用于STM32的项目之中。今天将使用分享给大家&a…

Digital WooCommerce Stores: 创建数字WordPress商店的详细教程- US Domain Center主机

第一步&#xff1a;了解数字 WooCommerce 商店 数字 WooCommerce 商店是一种电子商务模式&#xff0c;其中您可以销售虚拟产品&#xff0c;如在线课程、电子书、PDF、图像和视频。您可以使用 WooCommerce 插件在您的 WordPress 网站上设置数字产品&#xff0c;并通过在线交易提…

pandas的综合练习

事先说明&#xff1a; 由于每次都要导入库和处理中文乱码问题&#xff0c;我都是在最前面先写好&#xff0c;后面的代码就不在写了。要是copy到自己本地的话&#xff0c;就要把下面的代码也copy下。 # 准备工作import pandas as pd import numpy as np from matplotlib impor…