02 TiDB Operator 架构与实现 付业成TiDB Operator: Design & Implemention Presented by Yecheng Fu (@cofyc) PingCAP.com Agenda ● TiDB Operator 简介 ● 扩展 Kubernetes 的几种方式 ● TiDB Operator 实现 TiDB Operator 是什么 PingCAP.com Cloud Native TiDB Operator TiDB PingCAP.com Kubernetes Pattern - Declarative Model - 用户描述自己的期望,提交给 Kubernetes API Server - Kubernetes 根据用户的期望以及当前的状态,协调各方达成用户的期望 PingCAP.com - Kubernetes has pod, deployment Kubernetes has pod, deployment, statefulset, etc. - But it does not know how to operate TiDB cluster… - Until we implemented TiDB Operator Kubernetes Pattern - Declarative Model PingCAP.com Operator Pattern0 码力 | 47 页 | 1.73 MB | 6 月前3
Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践Operator Pattern:用 Go 扩展 K8s 的最佳实践 吴学强 ApeCloud KubeBlocks Maintainer & 研发总监 目 录 认识我们 00 什么是 Operator 01 Operator 基础模型 02 Operator 最佳实践 03 我们是谁 云猿生(ApeCloud)是一家提供数据库内核与管理平台的基 础软件开发商. KubeBlocks 从被收购到卷王(si) 回到初(qi)心(dian) KubeBlocks Maintainer & 研发总监 free6om 什么是 Operator 第一部分 Operator 前世今生 TPR Operator CRD Operator Pattern 2015.11 2016.12 2017.12 Now K8s 1.1 版本中正式推出 TPR (ThirdPartyResource),首次尝 K8s API 的扩展性问题, 但存在诸多问题,Alpha 阶段既 夭折 CoreOS 提出 Operator 概念,用 于管理和运行基于应用程序领 域的复杂有状态应用程序。 给出了用 TPR + controller- runtime 早期版本的 sample: etcd operator K8s 1.9 版本发布,CRD进入 beta 阶段并正式取代 TPR; controller-runtime0 码力 | 21 页 | 3.06 MB | 9 月前3
Pipeline Architectures in C++: Overloaded Pipe Operator | and Its Monadic Operationsoverview of what the poster reports on. Title: Pipeline architectures in C++: overloaded pipe operator | std::expected and its monadic operations Brief overview: Functional programming in C++ is the overloaded pipe operator. In this poster I show how to implement a custom pipeline framework that employs std::expected, available since C++23. An overloaded custom pipe operator | will be presented my book about C++ [1][3]. One of the topics was to describe the behavior of the overloaded pipe operator | in std::ranges. I came across Ankur's Satle lecture [4] and decided to expand on this topic –0 码力 | 3 页 | 422.24 KB | 6 月前3
Hidden Overhead of a Function APIcbz x0, .LBB1_2 b operator delete(void*) .LBB1_2: ret mov rax, QWORD PTR [rdi] mov QWORD PTR [rdi], 0 test rax, rax je .L3 mov esi, 4 mov rdi, rax jmp operator delete(void*) .L3: ret QWORD PTR [rcx], 0 test rax, rax je SHORT $LN34@output_ptr mov edx, 4 mov rcx, rax jmp operator delete(void*) $LN34@output_ptr: ret 0 O U T P U T 25Returning std::unique_ptr #include#16] mov x29, sp add x8, x29, #24 bl value_ptr() ldr x0, [x29, #24] ldr w19, [x0] bl operator delete(void*) mov w0, w19 ldr x19, [sp, #16] ldp x29, x30, [sp], #32 ret push rbx sub 0 码力 | 158 页 | 2.46 MB | 6 月前3
逐灵&木苏-阿里巴巴 K8S 超大规模实践经验Controller Kubernetes Platform沉淀公共运维能力 • Operator Platform Kubernetes API Server Operator Manager sidecar framework 运维能力 operator sidecar framework 运维能力 operator 运维平台 运维基础 能力沉淀 运维平台 运维能力 编程框架 Kubernetes config binary Docker K8s Pod main Container logtail sshd monitor 业务 ssh 日志 监控 通过 Dockerfile 打包应用 镜像,一次定义多次运行 通过镜像提供的组装机制 打包应用镜像,包含业务 及运维基础设施进程 更进一步组合多个容器 为一个 Pod,Pod 一次 定义多次运行不可变基础设施 • 应用与运维基础设施容器分离 client v3.3.15 周期性重建连接 slb slb 直连 设置maxSurge• 客户端和服务端的同步机制 List & Watch优化 ETCD Cache Pod A V1 Pod A V2 Pod A V3 Reflector APIServer Watch Cache List & Watch Informer Reflector Store List &0 码力 | 33 页 | 8.67 MB | 6 月前3
A (Short) Tour of C++ Modulespoint of declaration (POD), introduces entity 'i' int j = i; // POD, introduces entity 'j' // point of look-up (POL), names visible entity 'i' int k = l; // POD, introduces entity declared // (relative invisibility) int l; // point of declaration (POD), introduces entity 'l' int m = n; // POD, introduces entity 'm' // POL, names invisible entity 'n' invisibility) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // translation unit 2 int n; // POD, introduces entity 'n' 1 2 3 STARTING SIMPLE global scope Lookup of entities at global scope0 码力 | 62 页 | 4.20 MB | 6 月前3
蚂蚁金服双十一 Service Mesh 超大规模落地揭秘SDK/透明劫持:运维和可监控性不好,性能不高,风险不太可控。12 方案落地-目标架构 MOSN APP Pod MOSN APP Pod 服务发现 More Sidecar More Sidecar Pilot MQ Kubernetes Sidecar Operator 产品层 运维能力 监控能力 流量调控 安全能力 扩展能力 HTTP/RPC13 方案落地-拷问 检测 pod 变量,注 入启动参数 判断开启了 MOSN 发布和订阅服务 直接调用,关闭寻 址功能 其他16 方案落地-容器替换 Pod Pod Old Pod New With MOSN Pod New With MOSN 扩容 缩容 资源 Buffer Pod APP:4C8G Pod APP:4C8G MOSN:4C2G Operator 注入 原地接入 4C2G? Elastic Heap CPU超卖17 方案落地-MOSN 升级策略-有感升级 MOSN V1 APP MOSN V1 APP MOSN V2 APP 关闭 Pod 升级容器 容器快速接入了,但是 MOSN 有问题 / Feature 如何升级? 正常运行中18 方案落地-升级策略-无感升级 MOSN V1 APP MOSN V1 APP MOSN0 码力 | 26 页 | 2.71 MB | 6 月前3
MuPDF 1.22.0 DocumentationReturns {}. 3.4.33 PDF Processor A PDF processor provides callbacks that get called for each PDF operator handled by PDFPage process() & PDFAnnotation process() methods. The callbacks whose names start representation of ‘POD’ structs and their C++ wrapper classes. For example for fz_rect we provide these functions: std::ostream& operator<< (std::ostream& out, const fz_rect& rhs); std::ostream& operator<< (std::ostream& diagnostic each time it calls a MuPDF function (apart from keep/drop functions). If 2, we also show arg POD and pointer values. • MUPDF_trace_director If 1, generated code outputs a diagnostic when doing special0 码力 | 175 页 | 698.87 KB | 8 月前3
Class Layoutposition on the base class list, not the order in which they’re allocated in memory. A defaulted operator <=> compares members in their declared order. 24 Copyright © 2020 by Stephen C. Dewhurst and Daniel lexical order x, y, and z even if z is physically placed at offset 0. class Flatland { public: auto operator <=>(const Flatland &) const = default; int x; int y; private: int z; }; 25 Copyright © 2020 by Go Wrong? Just be careful about making layout assumptions. class Flatland { public: auto operator <=>(const Flatland &rhs) const { return memcmp(this, &rhs, sizeof(Flatland)); } int0 码力 | 51 页 | 461.37 KB | 6 月前3
MuPDF 1.23.0 Documentationto return. 6.36 PDF Processor A PDF processor provides callbacks that get called for each PDF operator handled by PDFPage process() & PDFAnnotation process() methods. The callbacks whose names start representation of ‘POD’ structs and their C++ wrapper classes. For example for fz_rect we provide these functions: std::ostream& operator<< (std::ostream& out, const fz_rect& rhs); std::ostream& operator<< (std::ostream& functions). If 2, low-level wrappers output a diagnostic each time they are called. We also show arg POD and pointer values. • MUPDF_trace_director If 1, generated code outputs a diagnostic when doing special0 码力 | 245 页 | 817.74 KB | 8 月前3
共 321 条
- 1
- 2
- 3
- 4
- 5
- 6
- 33













