07-Spring Cloud

1、如何设计一个注册中心?

高可用:通过集群的方式

高并发:减少响应时间、提高吞吐量 并发用户数等,通过增加服务器性能、 扩展服务实例的方式

高性能:程序处理速度

考虑 数据存储结构、通信机制、集群同步

集群同步:涉及到数据同步,数据同步我们有哪些协议 raft 、distro、ZAB

2、Nacos 1.x作为注册中心的原理?

1、使用Http发送服务注册

2、查询服务提供方列表

3、定时拉取(每10秒)

4、如果检测到服务提供者异常,基于UDP协议推送更新

5、定时心跳(每5秒向服务端发送心跳包),检测服务状态

6、服务端做定时心跳任务检查,超过15s将节点设置为非健康状态,超过30s将节点进行删除。

7、集群数据 同步任务使用Distro协议。

3、Nacos服务领域模型有哪些?

4、Nacos中的Distro协议

1、Nacos 每个节点自己负责部分的写请求。

2、每个节点会把自己负责的新增数据同步给其他节点。

3、每个节点定时发送自己负责数据的校验值 到其他节点来保持数据一致性。

4、每个节点独立处理读请求,及时从本地发出响应。

5、新加入的 Distro 节点会进行全量数据拉取。(具体操作是轮询所有的 Distro节点,通过向其他

的机器发送请求拉取全量数据。)

5、配置中心的技术选型

如何进行技术选型:

1、社区活跃度

2、自己的技术栈

        我们选型rocketmq 和kafka ,rocketmq :不支持指定时间的延时消息

        rocketmq 是Java语言 kafka是 scala语言 ,我们技术栈是java ,方便进行二次开发,所以我们选择rocketmq。

3、产品功能

        rocketmq或者kafka技术栈是否hold住

6、Nacos1.x配置中心 长轮询机制?

        客户端会轮询向服务端发出一个长连接请求,这个长连接最多30s就会超时,服务端收到客户

端的请求会先判断当前是否有配置更新,有则立即返回,如果没有 服务端会新建一个定时任务线

程 把这个请求放到队列29.5s,最后0.5s再检测配置文件无论有没有更新都进行正常返回,但等待的

29.5s期间有配置更新可以提前结束并返回。

7、Nacos配置中心配置优先级?

优先级从高到低。

# ${application.name}-${profile}.${file- extension}            nacos-config-prod.yaml

# ${application.name}.${file-extension}         nacos-config.yaml

# ${application.name}         nacos-config

# extensionConfigs 扩展配置文件

# sharedConfigs 多个微服务公共配置 redis

8、Nacos2.x客户端探活机制?

        Nacos服务端会启动一个定时任务,每3秒执行一次,查看所有连接是否超过20s没有通信,

如果超过20秒没有通信,服务端就会给客户端发送一个请求,进行探活,如果能正常返回就表示这

个服务为正常服务,如果不能正常返回就将其连接删除。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用内网负载机(Linux)执行Jmeter性能测试

一、背景 ​ 在我们工作中有时候会需要使用客户提供的内网负载机进行性能测试,一般在什么情况下我们需要要求客户提供内网负载机进行性能测试呢? 遇到公网环境下性能测试达到了带宽瓶颈。那么这时,我们就需要考虑在内网环境负载机下来执行我们…

【数据结构】树的基础入门

文章目录 什么是树树的常见术语树的表示树的应用 什么是树 相信大家刚学数据结构的时候最先接触的就是顺序表,栈,队列等线性结构. 而树则是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合 非线性 体现在它是由n个有限结点(可以是零个结点)组成一个具有层次关…

修改Docker镜像默认下载地址

1、安装完docker desktop后,先不要打开 2、新建目录 D:\ProgramData\Docker 3、在C:\Users\你的用户名\AppData\Local下,打开cmd或者powershell执行以下命令,命令语法略有不同。 powershell命令: cmd /c mklink /J Docker D:\Pro…

团队高效协作有多重要?介绍一些优秀的团队协作工具

不论企业大小,团队协作对企业来说是至关重要的,它可以对业务运营和组织效率产生积极影响。 当团队成员能够协同工作、分享信息和资源时,工作流程更加顺畅,决策更加快速且准确。分工合作和共享知识可以减少重复劳动,提…

Vision Transformer(VIT 网络架构)

论文下载链接:https://arxiv.org/abs/2010.11929 文章目录 引言1. VIT与传统CNN的比较2. 为什么需要Transformer在图像任务中? 1. 深入Transformer1.1 Transformer的起源:NLP领域的突破1.2 Transformer的基本组成1.2.1 自注意机制 (Self-Atte…

docker-compose deploy 高可用 elasticsearch TLS

文章目录 1.sysctl2. swap3. hosts4. 配置 instances.yaml5. 创建证书6. 部署7. 修改 kibanna 密码8. 清理 1.sysctl [rootgithub es_tls]# cat /etc/sysctl.conf # sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/…

1DM+下载器_11.2.1魔改增强版下载

1DM「原:IDM」下载器是一款安卓端的下载工具,多语言解锁版直安装版本,号称是目前 Android 平台最快、最先进的下载管理器应用「支持通过Torrent下载」,而这个版本是改线程的最新idm版本,可用来下载视频、音乐、电影、T…

【已更新建模代码】2023数学建模国赛B题matlab代码--多波束测线问题

一、 问题重述 1.1问题背景 海洋测深是测定水体深度与海底地形的重要任务,有两种主要技术:单波束测 深与多波束测深。单波束适用于简单任务,但多波束可提供更精确的地形数据。多 波束系统的关键在于覆盖宽度与重叠率的设计,以确保…

golang教程 beego框架笔记一

安装beego 安装bee工具 beego文档 # windos 推荐使用 go install github.com/beego/bee/v2master go get -u github.com/beego/bee/v2masterwindows使用安装bee工具时碰到的问题; 环境配置都没有问题,但是执行官网的命令:go get -u github…

科技云报道:生成式AI已成为企业新兴风险,但我们不应该因噎废食

科技云报道原创。 2023年,生成式AI技术破茧成蝶,引发了一场全球范围的数字革命。 从最初的聊天、下棋开始,到医疗、金融、制造、教育、科研等,生成式AI表现出了强大的创造力和无限潜力。据不完全统计,截至今年8月底&…

阿里云云主机免费试用三个月

试用链接如下: 阿里云云产品免费试用 云主机 费用试用三个月,每月750小时 实例规格 1核(vCPU) 2 GiB S6 系列机型 适用搭建网站等场景 网络带宽 1M 公网固定网络带宽 云盘40 GiB 真香!!!!!&…

Python数据分析实战-依次遍历dataframe每一行,对某字段进行分析处理并新增一列(附源码和实现效果)

实现功能 依次遍历每一行,在某列包含某个元素时新增一列进行标记 实现代码 def province_distribution_of_colleges(self, file):df pd.read_excel(os.path.join(self.datapath, file))df1 dfhua_bei [北京市,天津市,河北省,山西省,内蒙古自治区]dong_bei [辽…

深入了解vue2没有在data中定义的属性非响应式的问题

关于vue2没有在data中定义的属性非响应式的问题 vue2 响应式的原理及实现vue2 解决此类的部分 vue2 响应式的原理及实现 vue2 响应式数据 是通过 es5 中的 Object.defineProperty 方法来实现,把 data 定义的所有属性,转换为 get/set 方法,使…

如何使用HTTP代理爬虫,防止对网站造成负面影响

在当今大数据时代,爬虫技术已经成为了获取数据的重要手段之一。但是,由于爬虫程序的高频访问容易对目标网站造成负面影响,如增加服务器负载、影响网站性能等,因此,如何使用HTTP代理爬虫防止对网站造成负面影响成为了一…

2023-9-8 求组合数(一)

题目链接&#xff1a;求组合数 I #include <iostream> #include <algorithm>using namespace std;const int mod 1e9 7;int n; const int N 2010; int c[N][N];void init() {for(int i 0; i < N; i )for(int j 0; j < i; j)if(!j) c[i][j] 1;else c[i]…

Spring系列文章1:Spring入门程序

一、什么是spring 一个java框架、java语言开发&#xff0c;轻量级、开源框架、在j2se、j2ee中都可以使用。它是一个管理对象的容器&#xff0c;Spring 容器不装文本&#xff0c;数字。装的是java对象。 核心技术&#xff1a;ioc、aop 官网地址 https://spring.io 项目列表…

聊聊低代码的全栈开发能力

一、前言 低代码的热度持续提升&#xff0c;最明显的举动就是资本真金白银的投资。 阿里推出“云钉一体”战略&#xff0c;为企业提供全生命周期的IT解决文案&#xff1b;腾讯将各个事业部的低代码平台进行整合&#xff0c;推出了OTeam平台。网易有数帆轻舟低代码平台&#xff…

堆排序问题

代码如下&#xff1a; //1.先将数组里的数字调整为大根堆&#xff08;父节点均大于两个子节点&#xff09;--由第一个非叶子节点开始 //第一个叶子节点是len/2,所以非叶子节点位len/2-1 //2.将根节点和最后一个结点进行交换&#xff0c;再将剩下的节点调整为大根堆&#xff0c…

软件设计模式系列之一——设计模式概述

1 设计模式的由来和概念 设计模式最早出现在建筑行业&#xff0c;是一位建筑领域的大牛&#xff0c;针对不同建筑物的建造方法进行了总结&#xff0c;针对类型相似的建筑场景&#xff0c;将较好的解决方案进行比较&#xff0c;提取了其中共性的套路规范&#xff0c;形成一定的设…

【python爬虫】12.建立你的爬虫大军

文章目录 前言协程是什么多协程的用法gevent库queue模块 拓展复习复习 前言 照旧来回顾上一关的知识点&#xff01;上一关我们学习如何将爬虫的结果发送邮件&#xff0c;和定时执行爬虫。 关于邮件&#xff0c;它是这样一种流程&#xff1a; 我们要用到的模块是smtplib和emai…