【面试突击】注册中心面试实战

🌈🌈🌈🌈🌈🌈🌈🌈
欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术 的推送
发送 资料 可领取 深入理解 Redis 系列文章结合电商场景讲解 Redis 使用场景中间件系列笔记编程高频电子书

文章导读地址:点击查看文章导读!

感谢你的关注!

🍁🍁🍁🍁🍁🍁🍁🍁

注册中心面试实战

注册中心技术选型:

在分布式系统中,注册中心肯定是必不可少的,那么对于注册中心如何选择呢?

如果使用 Dubbo 作为服务框架,那么 Dubbo 底层的注册中心使用的就是 ZooKeeper

如果使用 SpringCloud 作为服务框架,一般注册中心都会选择 Eureka 或者 Nacos,配套进行使用

注册中心原理:

那么注册中心的 原理 肯定是要了解的,通过注册中心可以用来做那些事情:

  • 如何注册服务信息?
  • 如何进行服务发现?
  • 注册中心如何集群部署?

这些都是具体的原理方面的内容,不放在这里展开说了,主要了解一下在注册中心这里,会问哪些内容

我的专栏里就有 ZooKeeper 的内容,可以去查看一下

CAP 理论:在分布式系统中,被讨论最多的一个就是 CAP 理论,即一致性 (Consistency)、可用性 (Availability)、分区容错性 (Partition tolerance)无法同时满足,最多只能满足两个,因此大多数场景下都是满足 CP 或者 AP ,而注册中心就是用于分布式系统中的,因此需要去了解使用的注册中心符合 CAP 中的哪两个:

  • 在 ZooKeeper 中,只有一个 Leader 可以写数据,写完数据之后会同步给其他的 Follower,如果 Leader 挂了,就会去重新选举一个 Leader,选举期间会出现短暂的 服务不可用情况,因此 ZK 中为了保证 C 而放弃了 A,所以 ZK 满足了 CP
  • 在 Eureka 中,满足 AP,为了保证可用性而放弃了数据的一致性,怎么做的呢?Eureka 中各个节点都是平等的,所以某个节点宕机不会影响其他节点的工作,如果从一台机器中查询数据失败,那么可以尝试从其他的机器中查询,这里查到的数据可能不是最新的(不保证数据的一致性)

大规模服务实例场景下的表现:

对于 ZooKeeper 和 Eureka 来说,其实都不适合大规模的服务实例,因为如果服务实例数量达到几千上万,如果服务上下线,那么对于 zk 来说,需要去通知其他节点服务上下线,那么会导致 zk 的 网络瞬时流量很大,可能直接给 zk 所在机器的网络带宽打满,甚至直接打挂掉

对于 Eureka 来说也是,接收很多服务实例的请求,大量的心跳请求会导致 Eureka 压力太大

ZooKeeper 和 Eureka 一般也就能支撑几百上千的服务实例,

注册中心生产环境可以抗多少并发请求呢?

注册中心,一般会使用比较高配置的机器来部署,如 8C16G 或者 16C32G

那么一般来说,使用 8C16G 的机器部署,每秒钟抗几千的并发请求还是没有问题的,那么如果使用 16C32G 甚至 32C64G,可以抗更大数量的请求,并且对于注册中心以及后边要将到的网关,都会使用比较好的机器来部署,因为这些是 基础性的系统,如果出问题会导致服务大面积瘫痪

一般注册中心怎么部署呢?

可以去看一看 ZooKeeper 如何集群部署,部署细节可以简单了解一下,也不会问具体部署细节,但是要清楚 部署的流程

问的话,可能就是问 ZK 一般集群部署几台机器?部署的机器什么配置?

机器配置以及可以扛下请求数量在上边已经说过了,zk 部署集群的话,一般都是 小集群部署,1 主 2 从即可,zk 本身就不适合大集群部署,这与 zk 的架构设计有关,因为数据写入 Leader 之后,需要同步给 Follower 的,如果 Follower 数量过多,会导致同步速度很慢,影响 zk 的写性能

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

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

相关文章

软件测评中心▏性能测试之压力测试、负载测试的区别和联系简析

在如今的信息时代,软件已经成为人们日常工作和生活不可或缺的一部分。然而,随着软件的发展和应用范围的不断扩大,软件性能的优劣也成为了影响用户使用体验的重要因素。 软件性能测试即对软件在不同条件下的性能进行评估和验证的过程。通过模…

Wpf 使用 Prism 实战开发Day11

仓储(Repository)/工作单元(Unit Of Work)模式 仓储(rep):仓储接口定义了对实体类访问数据库及操作的方法。它统一管理数据访问的逻辑,并与业务逻辑层进行解耦。 简单的理解就是对访问数据库的一…

Tensorflow2.0笔记 - 修改形状和维度

本次笔记主要使用reshape,transpose,expand_dim,和squeeze对tensor的形状和维度进行操作。 import tensorflow as tf import numpy as nptf.__version__#tensor的shape和维数获取 #假设下面这个tensor表示4张28*28*3的图片 tensor tf.rando…

开发代码基础

首先安装驱动,在ARDUINO环境下安装,然后安装开发板,详见哔哩哔哩教程 1:接入点模式(也称 AP) 通过以下示例程序,NodeMCU将会建立一个名为taichi-maker的WiFI。您可以使用手机或电脑连接该WiFi…

Spark的内核调度

目录 概述 RDD的依赖 DAG和Stage DAG执行流程图形成和Stage划分 Stage内部流程 Spark Shuffle Spark中shuffle的发展历程 优化前的Hash shuffle 经过优化后的Hash shuffle Sort shuffle Sort shuffle的普通机制 Job调度流程 Spark RDD并行度 概述 Spark内核调度任务: 1…

U盘启动安装win11遇到缺少计算机所需的介质驱动程序问题

一、使用U盘制作启动盘遇到问题 下载了windows原版镜像,验证了md5,确保文件没有损坏。使用ultroiso制作u盘启动盘,开始安装后出现下图的报错: 在网上搜索解决方案,主要有以下几种: 安装的时候&#xff0c…

Java Swing 图书借阅系统 窗体项目 期末课程设计 窗体设计

视频教程: 【课程设计】图书借阅系统 功能描述: 图书管理系统有三个角色,系统管理员、图书管理员、借阅者; 系统管理员可以添加借阅用户; ​图书管理员可以添加图书,操作图书借阅和归还; 借…

最大公共子串

解题思路: 解题代码: UP主运用的方法很巧妙。厉害。

GitLab 502 Whoops, GitLab is taking too much time to respond. 解决

1、先通过gitlab-ctl restart进行重启,2分钟后看是否可以正常访问,为什么要2分钟,因为gitlab启动会有很多配套的服务启动,包括postgresql等 2、如果上面不行,再看gitlab日志,通过gitlab-ctl tail命令查看&…

服务端性能测试——性能测试工具JMeter-L1

第一遍没学懂,后续文章会更新~ 目录: 1.JMeter介绍与安装Meter简介JMeter安装2.JMeter的运行JMeter运行、界面功能简介3.使用代理服务器录制请求录制压测脚本(一)Web端脚本录制方法4.测试计划5.线程组6.控制器7.JMeter采样器/取…

软件测试之项目立项与需求评审

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢软件测试面试题分享: 1000道软件测试面试题及答案📢软件测试实战项目分享: 纯接口项目-完…

【AI视野·今日NLP 自然语言处理论文速览 第七十二期】Mon, 8 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Mon, 8 Jan 2024 Totally 17 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers DeepSeek LLM: Scaling Open-Source Language Models with Longtermism Authors DeepSeek AI Xiao Bi, Deli Ch…