Doris的数据导入机制以及原子性保证等待回收任务删除已写入数据  ## 总结 多版本机制解决读写冲突 • 写入带版本 · 查询带版本 两阶段导入保证多表原子生效 - 支持并行导入 - 有冲突时按导入顺序生效,无冲突导入时并行生效 事务能力保证  决定对象是否是垃圾对象,并进行 回收。 学 垃圾回收机制的特点 * 垃圾内存并不是用完了马上就被释放,所以会产生内存释放 不及时的现象,从而降低内存的使用效率。 有归程 序庞大的 时候,这种现象更为明显。0 码力 | 44 页 | 818.30 KB | 2 年前3
Pod 容忍节点异常时间调整原理说明 Kubernetes 集群节点处于异常状态之后需要有一个等待时间,才会对节点上的 Pod 进行驱逐。那么针对部分关键业务,是否可以调整这个时间,便于在节点发生异常时及时将 Pod 驱逐并在别的健康节点上重建? 要解决这个问题,我们首先要了解 Kubernetes 在节点异常时驱逐 Pod 的机制。 在 Kubernetes 1.13 及以后的版本中默认开启了 TaintBasedEvictions Condition,根据 Condition 为节点设置对应的 Taint,再根据 Taint 来驱逐节点上的 Pod。 同时在创建 Pod 时会默认为 Pod 添加相应的 tolerationSeconds 参数,指定当节点出现异常(如 NotReady)时 Pod 还将在这个节点上运行多长的时间。 那么,节点发生异常到 Pod 被驱逐的时间,就取决于两个参数:1. 节点实际异常到被判断为不健康的时间;2. Pod 集群中默认节点实际异常到被判断为不健康的时间为 40s, Pod 对节点 NotReady 的容忍时间为 5min, 也就是说, 节点实际异常 5min40s(340s) 后, 节点上的 Pod 才会发生驱逐。 ### 2. 调整节点被标记为不健康的时间 ControllerManager 参数 --node-monitor-grace-period 控制了在将一个节点标记为不健康之前允许其无响应的时长上限,该参数默认值为0 码力 | 4 页 | 104.64 KB | 2 年前3
2.4 基于Go-Ethereum构建DPOS机制下的区块链基于Go-Ethereum构建DPOS机制下的区块链 恺英网络一朱崇文 ’ alt=‘OCR图片’/> 目录 1 Go版本以太坊 2 为何选择DPOS机制 3 拓展共识改造实战 4 智能合约的实践 5 压力测试下暴露的问题 GopherChina2018 ’ alt=‘OCR图片’/> Go版本以太坊 ’ alt=‘OCR图片’/> Go版本以太坊 以太坊的工具组 ’ alt=‘OCR图片’/> GopherChina2018 ’ alt=‘OCR图片’/> 为何选择DPOS机制 共识机制对比 POW • 消耗计算力 • 出块速度慢,确认慢 • TPS极低 10~20 • 确认1分钟+ DPOS • 代理人模式 • 出块速度快,确认快 • TPS 700~1000 (实现) • 平均确认1~3秒 ’ alt=‘OCR图片’/> 为何选择DPOS机制 DPOS机制的优势 系统可靠性 在商业场景下,网络性能可控 the local miner’s GopherChina2018 ’ alt=‘OCR图片’/> 拓展共识改造实战 借鉴Clique(POA)的实现 Clique Go-Ethereum实现的机制,用以公共测试链 整个网络由Signer节点出块 Signer节点可以投票选择其他Signer节点 节点之间可以相互竞争出块 存活节点数 > (n/2) +1 Signer 节点的选举记录在Extra0 码力 | 34 页 | 2.01 MB | 1 月前3
Kubernetes开源书 - 周立将容器的通用时序指标记录到一个中心化的数据库中,并提供一个UI以便于浏览该数据。 ## Cluster-level Logging(集群级别的日志) Cluster-level logging 机制负责将容器的日志存储到具有搜索/浏览界面的中央日志存储中去。 ## Node组件 Node组件在每个Node上运行,维护运行的Pod并提供Kubernetes运行时环境。 ## kubelet kubelet:负责Pod所对应的容器的生命周期管理,例如容器的创建、启停等。根据从etcd中获取的信息来管理容器、上报Pod运行状态等。 - kube-proxy:实现K8s Service的通信与负载均衡机制。 • docker:你懂的 ## Pod(容器组) Pod是由若干容器组成的容器组,同一个Pod内的所有容器运行在同一主机上,这些容器使用相同的网络命令空间、IP地址和端口,相互之间能通过localhost来发现和通信。 超过 pod-eviction-timeout,则会将一个参数传递给 cube-controller-manager,并且 Node 上的所有 Pod 都会被 Node Controller 驱逐。默认驱逐的超时时间为五分钟。在某些情况下,当 Node 不可访问时,apiserver 无法与其上的 kubectl 进行通信。在与 apiserver 恢复通信之前,删除 Pod 的指令无法传达到 kubectl。同时,计划删除的0 码力 | 135 页 | 21.02 MB | 2 年前3
Ceph分布式存储实战 (云计算与虚拟化技术丛书),并且经过完整QA测试后发布下一个稳定版本。 代码提交都需要经过单元测试,模块维护者审核,并通过QA测试子集后才能合并到主线。社区维护一个较大规模的测试集群来保证代码质量,丰富的测试案例和错误注入机制保证了项目的稳定可靠。 ### 7 \. Ceph版本 Ceph正处于持续开发中并且迅速提升。2012年7月3日,Sage发布了Ceph第一个LTS版本:Argonaut。从那时起,陆续又发布了 都可能作为某些对象的主OSD,与此同时,它也可能作为某些对象的从OSD,从OSD受到主OSD的控制,然而,从OSD在某些情况也可能成为主OSD。在磁盘故障时,Ceph OSD Deamon的智能对等机制将协同其他OSD执行恢复操作。在此期间,存储对象副本的从OSD将被提升为主OSD,与此同时,新的从副本将重新生成,这样就保证了Ceph的可靠和一致。 Ceph OSD架构实现由物理磁盘驱动器、在其之上的Linux文件系统以及Ceph 分配组:XFS文件系统内部被分为多个“分配组”,它们是文件系统中的等长线性存储区。每个分配组各自管理自己的inode和剩余空间。文件和文件夹可以跨越分配组。这一机制为XFS提供了可伸缩性和并行特性——多个线程和进程可以同时在同一个文件系统上执行I/O操作。这种由分配组带来的内部分区机制在一个文件系统跨越多个物理设备时特别有用,使得优化对下级存储部件的吞吐量利用率成为可能。 条带化分配:在条带化RAID阵列上创建XFS文0 码力 | - 页 | 13.97 MB | 1 年前3
curvefs client删除文件和目录功能设计chubaofs 方案设计思考 1. Trash机制是实现1个(类似chubaofs),还是2个(类似moosefs)? 2. Trash 放在哪里? 3. 是否需要做 session 机制(在 metaserver 打开),来维护 inode 的打开情况? • 方案设计 • Trash机制: • Session机制: • 遗留问题 • 工作量评估 ## 背景 未对接forget 2. moosefs 实现了在 mds 上 open,因此删除时可以判断文件是否被打开 3. moosefs使用了两种机制,来实现上述功能,分别是trash机制和reserve机制(最新版本叫sustained),两种机制如下: ## trash机制: 对于所有TYPE_FILE类型的文件在删除时,若其transhtime大于0,则不会立即将该文件彻底删除,而是将其类型修改为 入回收站。 通过META文件系统来访问trash 通过trash机制,可实现文件的恢复UNDEL 回收站实现了一个timer,定期判断trashtime,执行定期清理回收站 清理时,当文件仍处于打开状态,则还需要进入下sustained/reserve中。 ## sustained机制/reserve机制 当一个trashtime等于0的TYPE FILE类型的文件被一0 码力 | 15 页 | 325.42 KB | 1 年前3
Golang大规模云原生应用管理实践插入:策略(Policy)与机制(Mechanism) 策略是做事的一组概念和计划,关注要做什么事“what” 机制是获取结果的过程, 方法和系统,关注如何做事 “how” • 员工进入公司需要验证是一个策略,人脸识别是机制; 从杭州到上海是策略,坐火车是机制; · 接口是策略,实现是机制; • 声明是策略,过程是机制; • 策略面向外部交互,机制面向内部实现; • 策略追求开放标准,机制追求稳定可复用; 策略追求开放标准,机制追求稳定可复用; • 策略与机制要分离; • 策略与机制随着层次的变化而变化; GOPHER CHINA 2020 ## 应用管理的策略与机制 Tekton 灰度 发布 分批发布 策略 权限 Argo 重启 报警 诊断 KEDA 负载均衡 Jaeger ES 调度策略 Kube eventer InfluxDB Rook Envoy Ingress Istio Knative K8s及云原生生态给开发者提供的是机制 K8s Promethues 机制 GOPHER CHINA 2020 ## 开发者直接使用K8s的失败故事 - 认知成本高:K8s功能强大却没有统一的使用方式,不得不学习复杂的声明字段和各种奇怪的Annotation; • 稳定性不足:没有设置Pod的QoS等级,导致频繁被驱逐,没有设置反亲和性策略,导致节点流量不均; • 扩0 码力 | 23 页 | 7.70 MB | 2 年前3
k8s操作手册 2.34 ★将 node 结点移出 k8s 集群 master 结点上# kubectl taint node 结点名 keyrm:NoExecute #先打上污点,驱逐工作负载 pod,等待几分钟,确认目标 node 结点上没有工作 pod 运行后,再删除 master 结点上# kubectl delete nodes 结点名 #将目标结点从集群里删除 node service-ip,kube-proxy 会想办法让访问 service-ip 的流量转发到真实 pod 里面去,如果一个 service 服务后端对应多个 pod,则 kube-proxy 会使用负载均衡机制。 ★每创建一个 service 资源,就会创建一个同名的 EndPoints Endpoint:记录了 service 的 targetPort 与目标 pod 的 ip:port 映射关系,当目标 40k8s-node02 ## ③ 污点和容忍度 在某 node 上(含 master 结点)打上污点,可以驱逐其上运行的 pod pod 上的容忍度如果匹配了某些污点,则就算 node 上有此污点,也可调度此 pod # kubectl taint node 结点名 keyxx=valuexx:NoSchedule 0 码力 | 126 页 | 4.33 MB | 2 年前3
TiDB v8.5 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 103 4.1.2 TiDB 事务机制 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · Cache 的 最大内 存使用 量。 tidb_ �→ instance �→ _plan_ �→ cache_ �→ reserved �→ _ �→ percentage �→ 新增 控制内 存驱逐 后 Instance Plan Cache 的 空闲内 存百分 比。 53 变量名 修改类型 描述 tidb_pre_ �→ split_ �→ regions �→ 新增 在 v8.4.0 减少处理存算分离请求时创建的线程数,避免 TiFlash 计算节点在处理大量请求时崩溃 #9334 @JinheLin – 改进 Pipeline Model 执行模型下任务的等待机制 #8869 @SeaRise – 改进 JOIN 算子的取消机制,使得 JOIN 算子内部能及时响应取消请求 #9430 @windtalker • Tools – Backup & Restore (BR) * 当集群的 split-table0 码力 | 5095 页 | 104.54 MB | 1 年前3
共 811 条
- 1
- 2
- 3
- 4
- 5
- 6
- 82













