当前位置: 首页 > news >正文

nacos总结1

5.Nacos注册中心

国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。

5.1.认识和安装Nacos

Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Q6U7hOB-1693129068929)(assets/image-20210713230444308.png)]

安装方式可以参考课前资料《Nacos安装指南.md》

在这里插入图片描述

5.2.服务注册到nacos

Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。

主要差异在于:

  • 依赖不同
  • 服务地址不同

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1)引入依赖

在cloud-demo父工程的pom文件中的<dependencyManagement>中引入SpringCloudAlibaba的依赖:

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.6.RELEASE</version><type>pom</type><scope>import</scope>
</dependency>

然后在user-service和order-service中的pom文件中引入nacos-discovery依赖:

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

注意:不要忘了注释掉eureka的依赖。

2)配置nacos地址

在user-service和order-service的application.yml中添加nacos地址:

spring:cloud:nacos:server-addr: localhost:8848

注意:不要忘了注释掉eureka的地址

3)重启

重启微服务后,登录nacos管理页面,可以看到微服务信息:

在这里插入图片描述
在这里插入图片描述

5.3.服务分级存储模型

一个服务可以有多个实例,例如我们的user-service,可以有:

  • 127.0.0.1:8081
  • 127.0.0.1:8082
  • 127.0.0.1:8083

假如这些实例分布于全国各地的不同机房,例如:

  • 127.0.0.1:8081,在上海机房
  • 127.0.0.1:8082,在上海机房
  • 127.0.0.1:8083,在杭州机房

Nacos就将同一机房内的实例 划分为一个集群

也就是说,user-service是服务,一个服务可以包含多个集群,如杭州、上海,每个集群下可以有多个实例,形成分级模型,如图:

在这里插入图片描述

微服务互相访问时,应该尽可能访问同集群实例,因为本地访问速度更快。当本集群内不可用时,才访问其它集群。例如:

在这里插入图片描述
在这里插入图片描述

杭州机房内的order-service应该优先访问同机房的user-service。

5.3.1.给user-service配置集群

在这里插入图片描述

修改user-service的application.yml文件,添加集群配置:

spring:cloud:nacos:server-addr: localhost:8848discovery:cluster-name: HZ # 集群名称

重启两个user-service实例后,我们可以在nacos控制台看到下面结果:

在这里插入图片描述

我们再次复制一个user-service启动配置,添加属性:

-Dserver.port=8083 -Dspring.cloud.nacos.discovery.cluster-name=SH

配置如图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MaPgTxBe-1693129068947)(assets/image-20210713233528982.png)]

启动UserApplication3后再次查看nacos控制台:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HeEP57St-1693129068948)(assets/image-20210713233727923.png)]

在这里插入图片描述
在这里插入图片描述

5.3.2.同集群优先的负载均衡

默认的ZoneAvoidanceRule并不能实现根据同集群优先来实现负载均衡。

因此Nacos中提供了一个NacosRule的实现,可以优先从同集群中挑选实例。

1)给order-service配置集群信息

修改order-service的application.yml文件,添加集群配置:

spring:cloud:nacos:server-addr: localhost:8848discovery:cluster-name: HZ # 集群名称

2)修改负载均衡规则

修改order-service的application.yml文件,修改负载均衡规则:

userservice:ribbon:NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则 

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5.4.权重配置

实际部署中会出现这样的场景:

服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求。

但默认情况下NacosRule是同集群内随机挑选,不会考虑机器的性能问题。

因此,Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高。

在nacos控制台,找到user-service的实例列表,点击编辑,即可修改权重:

在这里插入图片描述

在弹出的编辑窗口,修改权重:

在这里插入图片描述

注意:如果权重修改为0,则该实例永远不会被访问

在这里插入图片描述
给一个调0 再升级。升级完调0.1,少一点用户看情况。最后再放多。

5.5.环境隔离

在这里插入图片描述

Nacos提供了namespace来实现环境隔离功能。

  • nacos中可以有多个namespace
  • namespace下可以有group、service等
  • 不同namespace之间相互隔离,例如不同namespace的服务互相不可见

5.5.1.创建namespace

默认情况下,所有service、data、group都在同一个namespace,名为public:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我们可以点击页面新增按钮,添加一个namespace:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

然后,填写表单:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ki3Xq0QJ-1693129068957)(assets/image-20210714000505928.png)]

就能在页面看到一个新的namespace:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-drUWI2TE-1693129068958)(assets/image-20210714000522913.png)]

5.5.2.给微服务配置namespace

在这里插入图片描述
在这里插入图片描述

给微服务配置namespace只能通过修改配置来实现。

例如,修改order-service的application.yml文件:

spring:cloud:nacos:server-addr: localhost:8848discovery:cluster-name: HZnamespace: 492a7d5d-237b-46a1-a99a-fa8e98e4b0f9 # 命名空间,填ID

重启order-service后,访问控制台,可以看到下面的结果:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

此时访问order-service,因为namespace不同,会导致找不到userservice,控制台会报错:

在这里插入图片描述

在这里插入图片描述

5.6.Nacos与Eureka的区别

Nacos的服务实例分为两种l类型:

  • 临时实例:如果实例宕机超过一定时间,会从服务列表剔除,默认的类型。

  • 非临时实例:如果实例宕机,不会从服务列表剔除,也可以叫永久实例。

配置一个服务实例为永久实例:

spring:cloud:nacos:discovery:ephemeral: false # 设置为非临时实例

Nacos和Eureka整体结构类似,服务注册、服务拉取、心跳等待,但是也存在一些差异:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GW1E46uL-1693129068964)(assets/image-20210714001728017.png)]

  • Nacos与eureka的共同点

    • 都支持服务注册和服务拉取
    • 都支持服务提供者心跳方式做健康检测
  • Nacos与Eureka的区别

    • Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
    • 临时实例心跳不正常会被剔除,非临时实例则不会被剔除
    • Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
    • Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式

相关文章:

nacos总结1

5.Nacos注册中心 国内公司一般都推崇阿里巴巴的技术&#xff0c;比如注册中心&#xff0c;SpringCloudAlibaba也推出了一个名为Nacos的注册中心。 5.1.认识和安装Nacos Nacos是阿里巴巴的产品&#xff0c;现在是SpringCloud中的一个组件。相比Eureka功能更加丰富&#xff0c…...

Web安全测试(三):SQL注入漏洞

一、前言 结合内部资料&#xff0c;与安全渗透部门同事合力整理的安全测试相关资料教程&#xff0c;全方位涵盖电商、支付、金融、网络、数据库等领域的安全测试&#xff0c;覆盖Web、APP、中间件、内外网、Linux、Windows多个平台。学完后一定能成为安全大佬&#xff01; 全部…...

Webstorm 入门级玩转uni-app 项目-微信小程序+移动端项目方案

1. Webstorm uni-app语法插件 &#xff1a; Uniapp Support Uniapp Support - IntelliJ IDEs Plugin | Marketplace 第一个是不收费&#xff0c;第二个收费 我选择了第二个Uniapp Support &#xff0c;有试用30天&#xff0c;安装重启webstorm之后&#xff0c;可以提高生产率…...

从零开始的Hadoop学习(三)| 集群分发脚本xsync

1. Hadoop目录结构 bin目录&#xff1a;存放对Hadoop相关服务&#xff08;hdfs&#xff0c;yarn&#xff0c;mapred&#xff09;进行操作的脚本etc目录&#xff1a;Hadoop的配置文件目录&#xff0c;存放Hadoop的配置文件lib目录&#xff1a;存放Hadoop的本地库&#xff08;对…...

golang http transport源码分析

golang http transport源码分析 前言 Golang http库在日常开发中使用会很多。这里通过一个demo例子出发&#xff0c;从源码角度梳理golang http库底层的数据结构以及大致的调用流程 例子 package mainimport ("fmt""net/http""net/url""…...

spring boot 项目整合 websocket

1.业务背景 负责的项目有一个搜索功能&#xff0c;搜索的范围几乎是全表扫&#xff0c;且数据源类型贼多。目前对搜索的数据量量级未知&#xff0c;但肯定不会太少&#xff0c;不仅需要搜索还得点击下载文件。 关于搜索这块类型 众多&#xff0c;未了避免有个别极大数据源影响整…...

统计学补充概念-17-线性决策边界

概念 线性决策边界是一个用于分类问题的线性超平面&#xff0c;可以将不同类别的样本分开。在二维空间中&#xff0c;线性决策边界是一条直线&#xff0c;将两个不同类别的样本分隔开来。对于更高维的数据&#xff0c;决策边界可能是一个超平面。 线性决策边界的一般形式可以表…...

指针变量、指针常量与常量指针的区别

指针变量、指针常量与常量指针 一、指针变量 定义&#xff1a;指针变量是指存放地址的变量&#xff0c;其值是地址。 一般格式&#xff1a;基类型 指针变量名;&#xff08;int p&#xff09; 关键点&#xff1a; 1、int * 表示一种指针类型(此处指int 类型)&#xff0c;p(变量…...

mq与mqtt的关系

文章目录 mqtt 与 mq的区别mqtt 与 mq的详细区别传统消息队列RocketMQ和微消息队列MQTT对比&#xff1a;MQ与RPC的区别 mqtt 与 mq的区别 mqtt&#xff1a;一种通信协议&#xff0c;规范 MQ&#xff1a;一种通信通道&#xff08;方式&#xff09;&#xff0c;也叫消息队列 MQ…...

代码大全阅读随笔 (二)

软件设计 设计就是把需求分析和编码调试连在一起的活动。 设计不是在谁的头脑中直接跳出来了&#xff0c;他是不断的设计评估&#xff0c;非正式讨论&#xff0c;写实验代码以及修改实验代码中演化和完善。 作为软件开发人员&#xff0c;我们不应该试着在同一时间把整个程序都塞…...

vue 项目的屏幕自适应方案

方案一&#xff1a;使用 scale-box 组件 属性&#xff1a; width 宽度 默认 1920height 高度 默认 1080bgc 背景颜色 默认 "transparent"delay自适应缩放防抖延迟时间&#xff08;ms&#xff09; 默认 100 vue2版本&#xff1a;vue2大屏适配缩放组件&#xff08;vu…...

23软件测试高频率面试题汇总

一、 你们的测试流程是怎么样的&#xff1f; 答&#xff1a;1.项目开始阶段&#xff0c;BA&#xff08;需求分析师&#xff09;从用户方收集需求并将需求转化为规格说明书&#xff0c;接 下来在项目组领导会组织需求评审。 2.需求评审通过后&#xff0c;BA 会组织项目经理…...

PHP8的匿名函数-PHP8知识详解

php 8引入了匿名函数&#xff08;Anonymous Functions&#xff09;&#xff0c;它是一种创建短生命周期的函数&#xff0c;不需要命名&#xff0c;并且可以在其作用域内直接使用。以下是在PHP 8中使用匿名函数的知识要点&#xff1a; 1、创建匿名函数&#xff0c;语法格式如下&…...

Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等)

一、Redis是什么 Redis 是一种基于内存的数据库&#xff0c;对数据的读写操作都是在内存中完成&#xff0c;因此读写速度非常快&#xff0c;常用于缓存&#xff0c;消息队列、分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景&#xff0c;比如 String(字符串)、…...

C语言链表梳理-2

链表头使用结构体&#xff1a;struct Class 链表中的每一项使用结构体&#xff1a;struct Student#include <stdio.h>struct Student {char * StudentName;int StudentAge;int StudentSex;struct Student * NextStudent; };struct Class {char *ClassName;struct Stude…...

【深度学习】实验03 特征处理

文章目录 特征处理标准化归一化正则化 特征处理 标准化 # 导入标准化库 from sklearn.preprocessing import StandardScalerfrom matplotlib import gridspec import numpy as np import matplotlib.pyplot as plt import warnings warnings.filterwarnings("ignore&quo…...

基于Dpabi的功能连接

1.预处理 这里预处理用Gretna软件进行&#xff0c;共分为以下几步&#xff1a; &#xff08;1&#xff09;DICOM转NIfTI格式 (2)去除前10个时间点(Remove first 10 times points)&#xff1a;由于机器刚启动、被试刚躺进去也还需适应环境&#xff0c;导致刚开始扫描的数据很…...

在React项目是如何捕获错误的?

文章目录 react中的错误介绍解决方案后言 react中的错误介绍 错误在我们日常编写代码是非常常见的 举个例子&#xff0c;在react项目中去编写组件内JavaScript代码错误会导致 React 的内部状态被破坏&#xff0c;导致整个应用崩溃&#xff0c;这是不应该出现的现象 作为一个框架…...

基于内存池的 简单高效的数据库 SDK简介

基于内存池的 简单高效的数据库 SDK简介 下载地址&#xff1a; https://gitee.com/tankaishuai/powerful_sdks/tree/master/shm_alloc_db_heap shm_alloc_db_heap 是一个基于内存池实现的简单高效的文件型数据存储引擎&#xff0c;利用它可以轻松地像访问内存块一样读、写、增…...

python实例方法,类方法和静态方法区别

为python中的装饰器 实例方法 实例方法时直接定义在类中的函数&#xff0c;不需要任何修饰。只能通过类的实例化对象来调用。不能通过类名来调用。 类方法 类方法&#xff0c;是类中使用classmethod修饰的函数。类方法在定义的时候需要有表示类对象的参数(一般命名为cls&#…...

Pyecharts教程(四):使用pyecharts绘制3D折线图

Pyecharts教程(四):使用pyecharts绘制3D折线图 作者:安静到无声 个人主页 目录 Pyecharts教程(四):使用pyecharts绘制3D折线图准备工作数据准备绘制3D折线图推荐专栏在这篇文章中,我们将学习如何使用pyecharts库来绘制一个3D折线图。pyecharts是一个用于生成Echarts图表的…...

【stable-diffusion使用扩展+插件和模型资源(下)】

插件模型魔法图片等资源&#xff1a;https://tianfeng.space/1240.html 书接上文&#xff1a;&#xff08;上&#xff09; 插件推荐 1.lobe theme lobe theme是一款主题插件&#xff0c;直接可以在扩展安装 界面进行了重新布局&#xff0c;做了一些优化&#xff0c;有兴趣的…...

一文了解SpringBoot中的Aop

目录 1.什么是Aop 2.相关概念 3.相关注解 4.为什么要用Aop 5.Aop使用案例 1.什么是Aop AOP&#xff1a;Aspect Oriented Programming&#xff0c;面向切面&#xff0c;是Spring三大思想之一&#xff0c;另外两个是 IOC-控制反转 DI-依赖注入 (Autowired、Qualifier、Re…...

android系统启动流程之zygote如何创建SystemServer进程

SystemServer:是独立的进程&#xff0c;主要工作是管理服务的&#xff0c;它将启动大约90种服务Services. 它主要承担的职责是为APP的运行提供各种服务&#xff0c;像AMS,WMS这些服务并不是一个独立的进程&#xff0c; 它们其实都是SystemServer进程中需要管理的的众多服务之一…...

【awd系列】Bugku S3 AWD排位赛-9 pwn类型

文章目录 二进制下载检查分析运行二进制ida分析解题思路exp 二进制下载 下载地址&#xff1a;传送门 检查分析 [rootningan 3rd]# file pwn pwn: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for …...

vcomp140.dll丢失的修复方法分享,电脑提示vcomp140.dll丢失修复方法

今天&#xff0c;我的电脑出现了一个奇怪的问题&#xff0c;打开某些程序时总是提示“找不到vcomp140.dll文件”。这个问题让我非常头疼&#xff0c;因为我无法正常使用电脑上的一些重要软件。为了解决这个问题&#xff0c;我在网上查找了很多资料&#xff0c;并尝试了多种方法…...

Docker file解析

文章目录 简介构建的三步骤Docker执行Dockerfile的大致流程DockerFile常用保留字指令创建第一个Dockerfile镜像的缓存特性 Docker file 解析 简介 Dockerfile是用来构建Docker镜像的文本文件&#xff0c;是由一条条构建镜像所需的指令和参数构成的脚本&#xff0c;记录了镜像构…...

工作与身体健康之间的平衡

大厂裁员&#xff0c;称35岁以后体能下滑&#xff0c;无法继续高效率地完成工作&#xff1b;体重上涨&#xff0c;因为35岁以后新陈代谢开始变慢&#xff1b;甚至坐久了会腰疼、睡眠困扰开始加重&#xff0c;在众多的归因中&#xff0c;仿佛35岁的到来&#xff0c;会为一切的焦…...

算法和数据结构

STL 【C】蓝桥杯必备 算法竞赛常用STL万字总结_蓝桥杯算法竞赛_Cpt1024的博客-CSDN博客 day1 1&#xff1a;正确 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 // 中序遍历一遍二叉树&#xff0c;并统计节点数目 class Solution { public:int c…...

商城-学习整理-集群-K8S-集群环境部署(二十四)

目录 一、MySQL集群1、mysql集群原理2、Docker安装模拟MySQL主从复制集群1、下载mysql镜像2、创建Master实例并启动3、创建 Slave 实例并启动4、为 master 授权用户来同步数据1、进入 master 容器2、进入 mysql 内部 &#xff08;mysql –uroot -p&#xff09;3、查看 master 状…...

flat movie wordpress/百度seo推广

小程序蓝牙适配器不可用自查方法&#xff1a; 一、开启蓝牙 二、开启手机定位 三、授权小程序获取位置定位 四、检查微信APP是否开启蓝牙权限&#xff08;ios系统&#xff09;...

网站建设属于技术开发合同吗/网站查询seo

https://www.jb51.net/article/92575.htm...

怎么用手机做网站/网站排名推广工具

MSYS&#xff1a;Minimal GNU&#xff08;POSIX&#xff09;system on Windows&#xff0c;是一个小型的GNU环境&#xff0c;包括基本的bash&#xff0c;make等等。是Windows下最优秀的GNU环境。&#xff08;是否厌倦了Cygwin蜗牛般的shell环境&#xff0c;试试MSYS中的rxvt吧&…...

要制作自己的网站需要什么材料/网站统计数据分析

原创不易&#xff0c;转载前请注明博主的链接地址&#xff1a;Blessy_Zhu https://blog.csdn.net/weixin_42555080  一 从机器学习到深度学习 我们知道&#xff0c;Machine Learning分为两大派别&#xff1a;频率派和贝叶斯派&#xff1b;前者逐渐发展为统计学习&#xff0c;…...

什么叫网站建设方案书/中国疫情最新数据

zookeeper是一个开源的分布式协调服务&#xff0c;是由雅虎创建的&#xff0c;基于google chubby。是一种分布式数据一致性的解决方案。一、zookeeper的特性顺序一致性 从同一个客户端发起的事务请求&#xff0c;最终会严格按照顺序被应用到zookeeper中。原子性 所有的事务请求…...

高唐做网站推广/hao123网址之家官网

最近在复习JS&#xff0c;写着练练手 项目结构 整个项目分成六个部分 Util 工具类Param 配置类Pipe 管道类Bird 鸟类Score 分数类Main 主程序 显示效果 游戏效果大概是这样&#xff0c;碰撞坐标的判定感觉还有点问题&#xff0c;有空再调&#xff1a; 模块介绍 下面简单介…...