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

怎样做网站的二维码/推广app大全

怎样做网站的二维码,推广app大全,遵义网站定制,定制型网站TiDB数据库中的PD调度原理调度的产生与执行信息收集生成调度执行调度常见的调度类型负载均衡热点调度集群拓扑感知缩容及故障恢复Region merge查询调度状态Operator状态Balance状态热点调度状态Region 健康度调度策略控制启停调度器手动添加Operator调度参数调整产生速度控制消…

TiDB数据库中的PD调度原理

  • 调度的产生与执行
    • 信息收集
    • 生成调度
    • 执行调度
  • 常见的调度类型
    • 负载均衡
    • 热点调度
    • 集群拓扑感知
    • 缩容及故障恢复
    • Region merge
  • 查询调度状态
    • Operator状态
    • Balance状态
    • 热点调度状态
    • Region 健康度
  • 调度策略控制
    • 启停调度器
    • 手动添加Operator
    • 调度参数调整
      • 产生速度控制
      • 消费速度控制

调度的产生与执行

宏观上来看,调度流程大体可划分为三个部分:

信息收集

TiKV节点周期性地向PD上报StoreHeartbeatRegionHeartbeat两种心跳消息:

  • StoreHeartbeat 包含Store(即TiKV)的基本信息、容量、剩余空间和读写流量等数据;
  • RegionHeartbeat 包含Region的范围、副本分布、副本状态、数据量和读写流量等数据。

PD梳理并转存这些信息到cluster cache缓存中供调度进行决策。

生成调度

不同的调度器(scheduler)从自身的逻辑和需求出发,考虑各种限制和约束后生成待执行的Operator。这里所说的限制和约束包括但不限于:

  • 不往处于异常状态中(如断连、下线、繁忙、空间不足或在大量收发snapshot等)的Store添加副本;
  • Balance时不选择状态异常的Region;
  • 不尝试把Leader转移给Pending Peer;
  • 不尝试直接移除Leader;
  • 不破坏Region各种副本的物理隔离;
  • 不破坏Label property等约束。

执行调度

调度执行的步骤为:

  1. Operator先进入一个由OperatorController(也叫coordinator)管理的等待队列;
  2. OperatorController会根据配置以一定的并发量从等待队列中取出Operator并执行。执行的过程就是依次把每个Operator Step下发给对应Region的Leader;
  3. 标记Operator为finishtimeout状态,然后从执行列表中移除。

常见的调度类型

负载均衡

Region负载均衡调度主要依赖balance-leaderbalance-region两个调度器。二者的调度目标是将Region均匀地分散在集群中的所有Store上,但它们各有侧重:

  • balance-leader关注Region的Leader,目的是分散处理客户端请求的压力;
  • balance-region关注Region的各个Peer(即Follower),目的是分散存储的压力,同时避免出现爆盘等状况。

balance-leader与balance-region 有着相似的调度流程:

  1. 根据不同Store的对应资源量的情况分别打分;
  2. 不断从得分较高的Store选择Leader或Peer迁移到得分较低的Store上。

两者的分数计算上也有一定差异:balance-leader比较简单,使用Store上所有Leader所对应的Region Size加和作为得分。因为不同节点存储容量可能不一致,计算balance-region得分会分以下三种情况:

  • 当空间富余时使用数据量计算得分(使不同节点数据量基本上均衡);
  • 当空间不足时由使用剩余空间计算得分(使不同节点剩余空间基本均衡);
  • 处于中间态时则同时考虑两个因素做加权和当作得分。

此外,为了应对不同节点可能在性能等方面存在差异的问题,还可为Store设置负载均衡的权重leader-weightregion-weight分别用于控制Leader权重以及Region权重(默认值都为1)。假如把某个Store的leader-weight设为2,调度稳定后,则该节点的Leader数量约为普通节点的2倍;假如把某个Store的region-weight设为0.5,那么调度稳定后该节点的Region数量约为其他节点的一半。

热点调度

热点调度对应的调度器是hot-region-scheduler。从TiDB v3.0版本开始,统计热点Region的方式为:

  1. 根据Store上报的信息,统计出持续一段时间读或写流量超过一定阈值的Region;
  2. 用与负载均衡类似的方式把这些Region分散开来。

对于写热点,热点调度会同时尝试打散热点Region的Peer和Leader;对于读热点,由于只有Leader承载读压力,热点调度会尝试将热点Region的Leader打散。

集群拓扑感知

让PD感知不同节点分布的拓扑是为了通过调度使不同Region的各个副本尽可能分散,保证高可用容灾。PD会在后台不断扫描所有Region,当发现Region的分布不是当前的最优化状态时,会生成调度以替换Peer,将Region调整至最佳状态。

负责这个检查的组件叫replicaChecker(跟Scheduler类似,但是不可关闭)。它依赖于location-labels配置项来进行调度。比如配置[zone,rack,host]定义了三层的拓扑结构:集群分为多个zone(可用区),每个zone下有多个rack(机架),每个rack下有多个host(主机)。PD在调度时首先会尝试将Region的Peer放置在不同的zone,假如无法满足(比如配置3副本但总共只有2个zone)则保证放置在不同的rack;假如rack的数量也不足以保证隔离,那么再尝试host级别的隔离,以此类推。

缩容及故障恢复

缩容是指预备将某个Store下线,通过命令将该Store标记为Offline状态,此时PD通过调度将待下线节点上的Region迁移至其他节点。

故障恢复是指当有Store发生故障且无法恢复时,有Peer分布在对应Store上的Region会产生缺少副本的状况,此时PD需要在其他节点上为这些Region补副本。

这两种情况的处理过程基本上是一样的。replicaChecker检查到Region存在异常状态的Peer后,生成调度在健康的Store上创建新副本替换异常的副本。

Region merge

Region merge指的是为了避免删除数据后大量小甚至空的Region消耗系统资源,通过调度把相邻的小Region合并的过程。Region merge由mergeChecker负责,其过程与replicaChecker类似:PD在后台遍历,发现连续的小Region后发起调度。

具体来说,当某个新分裂出来的Region存在的时间超过配置项split-merge-interval的值(默认1h)后,如果出现以下任意情况,该Region会触发Region merge调度:

  • 该Region大小小于配置项max-merge-region-size的值(默认20MiB);
  • 该Region中key的数量小于配置项max-merge-region-keys的值(默认200000)。

查询调度状态

Operator状态

Grafana PD/Operator页面展示了Operator的相关统计信息。其中比较重要的有:

  • Schedule Operator Create:Operator的创建情况;
  • Operator finish duration:Operator执行耗时的情况;
  • Operator Step duration:不同Operator Step执行耗时的情况。

查询Operator的pd-ctl命令有:

  • operator show:查询当前调度生成的所有Operator;
  • operator show [admin | leader | region]:按照类型查询Operator。

Balance状态

Grafana PD/Statistics - Balance页面展示了负载均衡的相关统计信息,其中比较重要的有:

  • Store Leader/Region score:每个Store的得分;
  • Store Leader/Region count:每个Store的Leader/Region数量;
  • Store available:每个Store的剩余空间。

使用pd-ctl的store命令可以查询Store的得分、数量、剩余空间和weight等信息。

热点调度状态

Grafana PD/Statistics - hotspot页面展示了热点Region的相关统计信息,其中比较重要的有:

  • Hot write Region’s leader/peer distribution:写热点Region的Leader/Peer分布情况;
  • Hot read Region’s leader distribution:读热点Region的Leader分布情况。

使用pd-ctl同样可以查询上述信息,可以使用的命令有:

  • hot read:查询读热点Region信息;
  • hot write:查询写热点Region信息;
  • hot store:按Store统计热点分布情况;
  • region topread [limit]:查询当前读流量最大的Region;
  • region topwrite [limit]:查询当前写流量最大的Region。

Region 健康度

Grafana PD/Cluster/Region health面板展示了异常Region的相关统计信息,包括Pending Peer、Down Peer、Offline Peer,以及副本数过多或过少的Region。

通过pd-ctl的region check命令可以查看具体异常的Region列表:

  • region check miss-peer:缺副本的Region;
  • region check extra-peer:多副本的Region;
  • region check down-peer:有副本状态为Down的Region;
  • region check pending-peer:有副本状态为Pending的Region。

调度策略控制

启停调度器

pd-ctl支持动态创建和删除Scheduler,可以通过这些操作来控制PD的调度行为,如:

  • scheduler show:显示当前系统中的Scheduler;
  • scheduler remove balance-leader-scheduler:删除(停用)balance region调度器;
  • scheduler add evict-leader-scheduler 1:添加移除Store 1的所有Leader的调度器。

手动添加Operator

PD支持直接通过pd-ctl来创建或删除Operator,如:

  • operator add add-peer 2 5:在Store 5上为Region 2添加Peer;
  • operator add transfer-leader 2 5:将Region 2的Leader迁移至Store 5;
  • operator add split-region 2:将Region 2拆分为2个大小相当的Region;
  • operator remove 2:取消Region 2前待执行的Operator。

调度参数调整

使用pd-ctl执行config show命令可以查看所有的调度参数,执行config set {key} {value}可以调整对应参数的值。

产生速度控制

通过以下参数来限制Operator的产生速度:

  • leader-schedule-limit:同时进行Leader调度的任务并发数,默认为4;
  • region-schedule-limit:同时进行Region调度的任务并发数,默认为2048;
  • replica-schedule-limit:同时进行Replica调度的任务并发数,默认为64;
  • merge-schedule-limit:同时进行Region merge调度的任务并发数,默认为8。设置为0时,表示关闭;
  • hot-region-schedule-limit:同时进行Hot region调度的任务并发数,默认为4。该配置项独立于Region调度。

消费速度控制

store limit可用于限制单个Store的Operator消费速度。通过以下命令来限制:

pd-ctl -u ip:port store limit <store_id> <value>
http://www.lbrq.cn/news/755137.html

相关文章:

  • 老板说做个网站我要怎么做/深圳推广公司哪家最好
  • 石家庄怎样做网站/网络安全培训最强的机构
  • 怎么做百度自己的网站空间/seo首页网站
  • 网站建设存在困难/教育培训机构加盟
  • 做问卷调查赚钱的网站/深圳app推广平台
  • 湖南奶茶加盟网站建设/阿里云万网域名购买
  • 动态域名网站/百度seo算法
  • 昆明网站建设首选/公司模板建站
  • 临沂科技网站建设/中国做网站的公司排名
  • 廊坊网站制作公司/seo页面优化的方法
  • 泰州市住房和城乡建设局官方网站/佛山seo教程
  • 网站嵌入英文地图/磁力棒
  • wordpress 后台相册管理/深圳专门做seo的公司
  • ppt课件免费下载的网站/省委副书记
  • 网站开发做网站/品牌营销与推广
  • 朔州做网站的/国外seo网站
  • 河南郑州疫情最新数据/合肥网站优化公司
  • 网站右侧返回顶部/seo网络营销推广公司深圳
  • 网站流量运营/市场调研的内容
  • 网站布局模式/网站推广策划书模板
  • 信息技术九年级上册网站咋做/活动营销的方式有哪些
  • 简单个人网站制作教程/网站系统
  • 网站建设c云世家网络/外贸营销策略都有哪些
  • 12数据网站建设/营销型网站的特点
  • 内蒙古手机网站制作/苏州seo培训
  • 深圳网站设计价格表/超能搜索引擎系统网站
  • 自己做的网站怎么才能被收录/河北网络科技有限公司
  • 做网站选云服务器内核/网站推广的全过程
  • 深圳市土方建设网站/运营培训班
  • 商洛做网站多少钱/长沙seo排名优化公司
  • 超越Transformer:大模型架构创新的深度探索
  • 民法学学习笔记(个人向) Part.5
  • 登录与登录校验:Web安全核心解析
  • FPGA串口通信实现方案
  • C++设计模式:面向对象设计原则
  • 安卓11 12系统修改定制化_____列举与安卓 9、10 系统在定制化方面的差异与权限不同