首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

kubernetes面试题汇总详解

每个pod里边可以运行一个或多个container(容器),如果一个pod中有两个container,那么containerUSR(用户)、MNT(挂载点)、PID(进程号)是相互隔离,UTS(主机名和域名...:此参数控制滚动更新过程,副本总数超过预期pod数量上限。...(上述参数作用就是在更新过程中,值若为3,那么不管三七二一,先运行三个pod,用于替换旧pod,以此类推) maxUnavailable:此参数控制滚动更新过程中,不可用Pod数量。...(这个值和上面的值没有任何关系,举个例子:我有十个pod,但是在更新过程中,我允许这十个pod中最多有三个不可用,那么就将这个参数设置为3,在更新过程中,只要不可用pod数量小于或等于3,那么更新过程就不会停止...emptyDir特性: 同个pod里面的不同容器,共享同一个持久化目录,pod节点删除,volume数据也会被删除。如果仅仅是容器销毁,pod还在,则不会影响volume中数据。

11.2K42

MySQL专题 - 多版本并发控制 MVCC & read committed 隔离级别

数据库事务隔离级别的实现,InnoDB支持行级锁,写是行级排他锁(X锁),那么其他事务访问另一个事务正在更新(除选择操作外其他操作本质上都是写操作)同一条记录,事务读操作会被阻塞。...因为对于大部分应用来说,读操作是多于写操作写操作加锁,那么读操作全部阻塞,这样会导致应用相应能力受数据库牵制。 2.真实演示情况是什么样子?...数据文件中(表空间),即使客户端设置了每表一个数据文件也是如此。...我们通过行更新过程来看下撤回日志是如何形成? #### 3.3.1行更新过程下面演示下事务对某行记录更新过程:1。初始数据行 ? F1~F6是某行列名字,1~6是其对应数据。...一般我们认为MVCC有下面几个特点: 每行数据都存在一个版本,每次数据更新更新该版本修改时复制出当前版本随意修改,个事务之间无干扰保存比较版本号,如果成功(commit),则覆盖原记录;失败则放弃

1.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

组件设计基础(2)

更新 更新过程(Update),组件重新渲染过程。...组件装载到DOM树上之后,用户在网页上可以看到组件第一印象,但是要提供更好交互体验,就要让该组件可以随着用户操作改变展现内容props或者state修改时候,就会引发组件更新过程。...在更新过程中,React库首先调用shouldComponentUpdate函数,如果这个函数返回true,那就会继续更新过程,接下来调用render函数;反之,如果得到一个false,那就立刻停止更新过程...更新 // 订阅update class A extends EventEmitter { construtor(){ super(); this.pub('update');...} } class B{ constructor(){ this.a=new B(); } // 子组件名为update消息设置 this.child.sub(

57550

普通索引与唯一索引区别_唯一索引怎么设置

大家好,又见面了,我是你们朋友全栈君。 所谓普通索引,就是在创建索引,不附加任何限制条件(唯一、非空等限制)。该类型索引可以创建在任何数据类型字段上。...假设你在维护一个市民系统,每个人都有一个唯一身份证号,而且业务代码已经保证了不会写入两个重复身份证号。...在InnoDB中,每个数据页大小默认是16KB。 因为引擎是按页读写,所以说,找到k=5记录时候,它所在数据页就都在内存里了。...但是我们之前计算过,对于整型字段一个数据页可以放近千个key,因此出现这种情况概率会很低。所以,我们计算平均性能差异,仍然可以认为这个操作成本对于现在CPU来说可以忽略不计。...更新过程 为了说明普通索引和唯一索引对更新语句性能影响这个问题,需要先了解一下change buffer概念: 需要更新一个数据页,如果数据页在内存中就直接更新,而如果这个数据页还没有在内存中的话

52120

Kubernetes--玩转Pod滚动更新123

有许多这方面的资源会教你如何配置Deployment,但是你可能很难理解每个选项是如何影响滚动更新执行方式。...指定为整数,表示允许超期创建或者不可访问Pod数。指定为百分比,将使用期望状态里定义Pod数作为基数。...指定minReadySeconds,Pod必须运行这么多秒,而且其容器中任何一个都不能崩溃,才能Deployment视为进入Ready状态。...你期望调度目标可能是,在每个节点上运行Deployment一个Pod,但是由于maxSurge设置为1,在滚动更新期间调度器每次只能创建一个新Pod。...这样,调度程序评估affinity规则,将不会算上旧Pod。 podAffinity和PodAntiAffinity有很多选项可以影响Pod调度方式,但通常无法保证滚动更新也能满足规则。

79710

MySQL实战之普通索引和唯一索引,应该怎么选择?

假设你在维护一个市民系统,每个人都有一个唯一身份证号,而且业务代码已经保证了不会写入两个重复身份证号。...也就是说,需要读一条记录时候,并不是将这个记录本身从磁盘读出来,而是以页为单位,将其整体读入内存。在InnoDB中,每个数据页大小默认是16kb。...但是我们之前计算过,对于整形字段一个数据页可以放近千个key,因此出现这种情况概率会很低。所以我们计算平均性能差异,仍可以认为这个操作成本对于现在CPU来说可以忽略不计。...3.更新过程为了说明普通索引和唯一索引对更新语句性能影响这个问题,我需要先跟你介绍一下change buffer。...需要更新一个数据页,如果数据页在内存中就直接更新,而如果这个数据页还没有在内存中的话,在不影响数据一致性前提下,InnoDB会将这些更新操作缓存在change buffer中,这样就不需要从磁盘中读这个数据页了

1.6K01

腾讯游戏K8s应用实践|更贴近业务场景K8s工作负载:GameDeployment & GameStatefulSet

因 InplaceUpdate 和 HotPatchUpdate 不会重启 pod ,因此建议在这两种更新策略情况下无需设置 maxSurge 参数,只在 RollingUpdate 更新设置。...GameStatefulSet Kubernetes 原生 StatefulSet 是面向有状态应用工作负载,每个应用实例都有一个单独网络和存储编号,实例在更新和缩容是有序进行。...使用原地升级实例更新方式,有以下收益: pod 中有多个容器,容器之间通过共享内存通信。...优雅地删除和更新 Pod 在上文 “基于hook应用交互式发布” 章节我们提到,应用在发布更新过程中有许多外部依赖或应用本身数据指标依赖。...中指定 HookTemplate,那么缩容或更新 Pod 实例,针对每一个待删除或更新 Pod,GameDeployment/GameStatefulSet 都会根据 HookTemplate

2.1K61

前端几个常见考察点整理

不想在构建环境中配置有关 JSX 编译,不在 React 中使用 JSX 会更加方便。...在回调中你可以使用箭头函数,但问题是每次组件渲染都会创建一个回调。React 中 keys 作用是什么?Keys 是 React 用于追踪哪些列表中元素修改、添加或者移除辅助标识。... )};在集合中添加和删除项目,不使用键或将索引用作键会导致奇怪行为。...“跳转”行为只会触发相匹配对应页面内容更新,而不会刷新整个页面。...具体流程如下:真实 DOM 首先会映射为虚拟 DOM;虚拟 DOM 发生变化后,就会根据差距计算生成 patch,这个 patch 是一个结构化数据,内容包含了增加、更新、移除等;根据 patch

1.3K50

一文弄清物联网OTA

这种做法有两个主要问题: 许多嵌入式软件应用程序使用实时操作系统(RTOS) ,它允许将软件分解成并发任务,每个任务在系统中有不同职责。... OTA 更新过程完成,ToC 将使用新应用程序信息进行更新。 OTA更新功能一部分也可以推送到SSBL。在开发 OTA 更新软件,“确定哪些部分”是一个重要设计决策。...部分缓存: 保留一个 SRAM 区域用于缓存,新数据包到达将它们存储在 SRAM 区域中。 区域填满,通过将数据写入快闪存储器来清空它。...如果消息或摘要任何部分在服务器创建它们之后修改,比如在无线通信期间有一个翻转,客户端对数据包执行相同哈希函数并比较摘要,它会注意到这个修改。...生成这个链代价高昂任务留给了服务器,每个数据包到达,客户机必须简单地缓存和哈希,以确保数据包到达没有损坏,具有完整性,并经过验证。 ?

2.1K20

k8s零中断滚动更新

一段时间而不是立刻停止工作,从而确保SLB转发流量还可以继续Pod处理; 2.4 iptables/ipvs 中断原因: Pod变为termintaing状态,会从所有serviceendpoint...image.png Local模式: Local模式下,kube-proxy会把Node上Pod写入iptables/ipvs,Node只有一个Pod且状态变为terminating,iptables...这个问题可以通过原地升级来避免,即保证更新过程中Node上至少有一个Running Pod, 原地升级可以保障Nodeiptables/ipvs中总会有一条业务Pod记录,因此不会产生服务中断,如下图所示...port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer # 需要尽可能每个节点在更新过程中有至少一个...数量不多且不需要保留源IP: 选用cluster模式 + 设定Pod优雅中止 + 就绪检测; 如果集群中slb数量较多或需要保留源IP: 选用local模式 + 设定Pod优雅终止 + 就绪检测 + 原地升级(保证更新过程每个节点至少一个

2.5K10

k8s滚动升级和扩缩容

Object指标数据来源于其他资源对象或任意自定义指标, 其target指标类型可以使用Value或AverageValue(根据Pod副本数计算平 均值)进行设置 HPA 最佳实践 1)为容器配置...如果集群规模比较大,服务不能对外提供服务,则这个工作变成了一个挑战,而且先全部停止然后逐步升级方式会导致较长时间服务不可用。Kubernetes提供了滚动升级功能来解决上述问题。...可以使用kubectl rollout status 命令查看Deployment更新过程 spec.strategy.rollingUpdate.maxUnavailable:用于指定更新过程中,不可用...pod数量 可以是整数如3,也可以是百分比30%(从Kubernetes 1.6开始, maxUnavailable默认值从1改为25%) 比如设置为30%,滚动更新开始立即将副本数缩小到所需副本总数..., maxUnavailable默认值从1改为25%)举例来说,maxSurge设置为30%,新ReplicaSet可以在滚动更新开始立即进行副本数扩容,只需要保证新旧ReplicaSet

1.3K30

前端知识点总结vue篇(下)

页面加载完成之后,利用路由实现HTML内容变换,UI与用户 交互,而不会因为用户操作进行页面的重新加载或跳转 优点: 用户体验感好,避免了不必要跳转和重复渲染 SPA对服务器压力小 前后端职责分离...在切换元素及它数据绑定 / 组件销毁并重建。 v-show:根据表达式之真假值,切换元素 display CSS 属性。...(因为history模式改变URL方式会导致浏览器向服务器发送请求,因此要在服务器端 做处理,如果URL匹配不到任何静态资源,应该返回同一个index.html页面,这个页面就是app依赖页面,在访问二级页面...高 d.对应两个钩子函数 activated 和 deactivated ,组件激活,触发钩子函数activated,组件移除,触发钩子 函数 deactivated。...(Vue diff中有个过程是如果新老节点都有子节点情况下,需要进行 updateChildren操作,对比新老节点开始节点、结束节点共有四种比较方式,如果都没有匹配,设置了key就可以通

31520

企业常用几种发布方式(蓝绿发布 | 滚动升级 | 金丝雀发布)

变更管理最佳实践可使用自动化来完成以下几点: 1、部署尽可能在用户少时候。 2、每次部署前备份原始数据。 3、采用渐进式发布机制。 4、迅速而准确地检测到问题发生。...5、出现问题,安全迅速地回退改动。 常用部署方式存在以下几种: 蓝绿部署 滚动部署 灰度部署/金丝雀部署 蓝绿部署 正常将项目分为两组, 蓝组和绿组, 正常运转情况下每组承载 50% 流量....准备发布服务, 将蓝组流量设置为0%, 将绿组空闲出来, 将服务部署到绿组机器, 然后利用SLB将流量切换到绿组机器, 让绿组来运行业务, 没问题的话流量全部导向绿组, 把蓝组也进行服务更新 ?...优点 更新过程无需停机,风险较少 回滚方便,只需要更改路由或者切换DNS服务器,效率较高 缺点 需要部署两套机器,费用开销大 在非隔离机器(Docker、VM)上操作,可能会导致蓝绿环境摧毁风险...负载均衡器/反向代理/路由/DNS处理不当,将导致流量没有切换过来情况出现 滚动部署 生产中N台机器都为版本A机器, 部署取出一个或者多个服务器停止服务,执行更新版本B,更新后重新将其投入使用,继续不断更新其他机器

2.4K230

ReactJS简介

(2)可重用(Reusable):每个组件都是具有独立功能,它可以使用在多个UI场景。 (3)可维护(Maintainable):每个组件仅仅包含自身逻辑,更容易理解和维护。...React严格定义了组件生命周期,生命周期可能会经历如下三个过程: 装载过程(Mount),也就是把组件第一次在DOM树中渲染过程; 更新过程(Update),组件重新渲染过程。...render componentDidMount 2、更新过程(Update): 组件装载到DOM树上之后,用户在网页上可以看到组件第一印象,但是要提供更好交互体验,就要让该组件可以随着用户操作改变展现内容...,props或者state修改时候,就会引发组件更新过程。...和装载过程与更新过程不一样,这个函数没有配对Did函数,就一个函数,因为卸载完就完了,没有“卸载完再做事情”。

3.8K40

【愚公系列】2023年03月 其他-Web前端基础面试题(VUE专项_58道)

只有一次切换,我们就使用v-if。 6、vue-loader是什么?...如果数据项顺序改变,Vue将不是移动DOM元素来匹配数据项改变,而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过每个元素。...多页面是指一个应用中有多个页面,页面跳转是整页刷新....组件和混入对象含有相同名选项,这些选项将以恰当方式进行“合并”。 50、nextTick 使用场景和原理 nextTick 中回调是在下次 DOM 更新循环结束之后执行延迟回调。...给对象新增不存在属性,首先会把新属性进行响应式跟踪 然后会触发对象 ob dep收集到 watcher 去更新修改数组索引我们调用数组本身 splice 方法去更新数组。

7.2K20

ICCV2023 SOTA 长短距离循环更新网络--LRRU介绍

迭代更新过程内容自适应,可以从RGB图像和待更新深度图中学习到核权重。初始深度图提供了粗糙但完整场景深度信息,有助于减轻直接从稀疏数据回归密集深度负担。...但是,为确保每个参考像素参与其自身更新过程,我们首先预测具有 2(k^2-1) 个通道偏移特征图,然后将零插入偏移特征图中心。 残差连接。我们观察到更新单元输入和输出图高度相关,共享低频信息。...3.2 长短距离循环更新策略 图4 长短距离循环更新策略 为了在更新过程中获得适合各自目标的适当内核权重和范围,我们需要一个有效循环更新策略来指导TDU。...具体来说,由于对于由非学习方法获得初始深度图,只有少数可用稀疏测量点及其周围点具有高精度,而大多数像素周围点则不准确,因此,在更新过程开始,我们应该采用大内核范围,以便从一些长距离但准确点中获取邻域信息...我们发现,不同TDU分别由不同尺度交叉引导特征引导,由更小尺度交叉引导特征引导TDU将自适应地学习以获得相对更大范围邻域,反之亦然。这是因为不同尺度交叉引导特征具有不同感受野。

54950

一年经验如何准备前端面试

HTML5离线储存怎么使用,它工作原理是什么离线存储指的是:在用户没有与因特网连接,可以正常访问站点或应用,在用户与因特网连接更新用户机器上缓存文件。...如何更新缓存:(1)更新 manifest 文件(2)通过 javascript 操作(3)清除浏览器缓存注意事项:(1)浏览器对缓存数据容量限制可能不太一样(某些浏览器设置限制是每个站点 5MB)...(2)如果 manifest 文件,或者内部列举一个文件不能正常下载,整个更新过程都将失败,浏览器继续全部使用老缓存。...(7) manifest 文件发生改变,资源请求本身也会触发更新。...HTTP/2 将每个请求或回应所有数据包,称为一个数据流。每个数据流都有一个独一无二编号。数据包发送,都必须标记数据流 ID ,用来区分它属于哪个数据流。

33940

ElasticSearch面试题

,合理设置分词器; 7)Mapping阶段充分结合各个字段属性,是否需要检索、是否需要存储等; 写入调优 1)写入前副本数设置为0; 2)写入前关闭refrESh_interval设置为-1,禁用刷新机制...不同之处在于索引中每个文档可以具有不同映射,但是对于通用字段应该具有相同数据类型。 3. ES是如何实现Master选举?...(1)集群master候选数量不小于3个,可以通过设置最少投票通过数量(discovery.zen.minimum_master_nodES)超过所有候选节点一半以上来解决脑裂问题; (2)候选数量为两个...描述一下ES更新和删除文档过程 删除和更新都是写操作,但是ES中文档是不可变,因此不能被删除或者改动以展示其变更,具体过程如下: 删除过程 磁盘上每个段都有一个相应.del文件。...更新过程 在新文档创建,ES会为该文档指定一个版本号,执行更新,旧版本文档在.del文件中被标记为删除,新版本文档索引到一个新段。

9931911

前端二面高频react面试题集锦_2023-02-23

一个简单例子,父组件中有两个input子组件,如果想在第一个输入框输入数据,来改变第二个输入框值,这就需要用到状态提升。...为应用一个状态设计简洁视图,数据改变 React 能有效地更新并正确地渲染组件。 以声明式编写 UI,可以让代码更加可靠,且方便调试。...React组件具有如下特性∶ 可组合:简单组件可以组合为复杂组件 可重用:每个组件都是独立,可以多个组件使用 可维护:和组件相关逻辑和UI都封装在了组件内部,方便维护 可测试:因为组件独立性...(3) Virtual DOM 真实页面对应一个 DOM 树。在传统页面的开发模式中,每次需要更新页面,都要手动操作 DOM 来进行更新。 DOM 操作非常昂贵。...,该action函数体会自动执行 store.dispatch(action) } (2)使用redux-saga中间件 redux-saga优点: 异步解耦: 异步操作转移到单独 saga.js

2.8K20
领券