1.3.3 基于Go构建海量作业作业平台GO CN 基于Go构建海量作业作业平台 袁帅 villager bilibili/基础架构部/SRE/平台工程组/资深开发工程师 作业平台简介 01 作业平台的挑战 02 B站作业平台Job的介绍 03 Job设计实现:Agent/Worker 作业执行和上报 04 Job设计实现:Scheduler 作业调度 05 Job设计实现:ApiServer 鉴权+数据处理 06 Job设计实现:其他技术难点和细节 总结展望 07 第一部分 作业平台简介 日常的运维管理无时无刻的不在执行,不管是执行软件安装、还是配置和启动服务,甚至是一个长时间的停机维护,将这些操作抽象来表达统称为作业。 运维作业的重要性在于它可以帮助运维/SRE团队更好的管理和维护系统,确保系统的稳定性和可靠性。通过自动化运维作业,可以减少人工干预,降低出错率,提高工作效率和质量 ’ alt=‘OCR图片’/> 作业平台的需求来源 SALTSTACK 管理 ’ alt=‘OCR图片’/> 作业平台主要对象 作业平台主要对象 命令:一个可以独立操作,如:关机,重启等 文件分发/下载:将指定的文件分发到目标机路径;将目标机路径的文件下载到本地 作业:一系列命令、文件分发/下载的有序组合,它还包含执行对象 定时作业:定时执行的作业 ’ alt=‘OCR图片’/> 第二部分 作业平台挑战 系统集成:作业平台需要集成多个系统和工具,这些系统可能来自不同的操作系统或供应商0 码力 | 34 页 | 4.48 MB | 1 月前3
TypeScript 类型系统## TypeScript 类型系统 分享人:陈文岗 学校:中国科学院大学 2021年1月21日 ## 关于TypeScript TypeScript是微软推出的JavaScript静态类型版本,它是JavaScript的超集,可以编译为纯粹的JavaScript TypeScript How Does TypeScript Work? TypeScript file.ts JavaScript jpg) ## TypeScript 基础类型 // 数字类型 let num: number; num = 123; // 布尔类型 let flag: boolean; flag = false; // 字符串类型 let str: string; str = 'Hello World'; ## TypeScript 高级类型 // 数组类型 let arr: number]; arr 'chenwengang', age: 23 }; // 函数类型/函数签名 type Callback = () => void; let cb:Callback = () => { console.log('callback'); }; ## TypeScript 高级类型 // 交叉类型 type User1 = { name: string;0 码力 | 25 页 | 1.27 MB | 2 年前3
5 刘知杭 静态类型的Python## 静态类型的Python PYTHON 30th Lyzh(刘知杭) ## 目录 CONTENTS ➤ 有关类型的概念 使用mypy对Python源代码进行静态分析 代数数据类型 拓展知识 ## 关于类型的一些基本概念 有类型不等于有类型系统 PYTHON 30th 动态语言类型化的必要性 ## 不久前的一个案例 ☀️ ☀️ ☁️ rl = filter(lambda x: HttpResponse(json.dumps(rl), content_type='application/json') ## 类型的概念 CPython定义了PyObject这个结构体作为对象头。 CPython中的类型,是指在对象头中指向类型元信息的指针。 ## ●●● // cpython/include/object.h #define PyObject_HEAD PyObject CPython有类型,但CPython没有类型系统。这就是CsPython中诸多问题的由来。 ## 类型系统是什么? 类型系统(type system)是一种编译期(Compile-time)的类型推导检查规则。 类型系统(type system)的基本目标是防止程序在运行时发生类型错误。当且仅当语言运行时不存在任何形式的类型错误,那么它就是sound的。soundness是类型系统研究的重要目标。0 码力 | 42 页 | 6.87 MB | 2 年前3
基本数据类型## PyTorch ## 基本数据类型 主讲人:龙良曲 ## All is about Tensor |python|PyTorch| |---|---| |Int|IntTensor of size()| |float|FloatTensor of size()| |Int array|IntTensor of size \[d1, d2, ...]| |Float array|FloatTensor0 码力 | 16 页 | 1.09 MB | 2 年前3
Apache ShardingSphere ElasticJob 中文文档 2023 年 11 月 01 日Java …… 4 3.2 Maven …… 4 3.3 ZooKeeper …… 4 4 快速入门 4.1 引入 Maven 依赖 …… 5 4.2 作业开发 …… 5 4.3 作业配置 …… 6 4.4 作业调度 …… 6 5 概念 & 功能 5.1 调度模型 …… 7 5.2 弹性调度 …… 7 5.2.1 分片 …… 7 分片项 …… 8 ..... 19 5.4.2 适用场景 ..... 20 5.5 作业开放生态 ..... 20 5.5.1 作业接口 ..... 20 5.5.2 执行器接口 ..... 21 用户手册 ..... 22 6.1 使用手册 ..... 23 6.1.1 作业 API ..... 23 作业开发 ..... 23 使用 Java API ..... 26 使用 使用 Spring Boot Starter ..... 34 使用 Spring 命名空间 ..... 39 6.1.2 作业监听器 ..... 43 监听器开发 ..... 43 使用 Java API ..... 44 使用 Spring 命名空间 ..... 45 6.1.3 事件追踪 ..... 46 使用 Java API ..... 46 使用 Spring0 码力 | 98 页 | 1.97 MB | 2 年前3
MoonBit月兔编程语言 现代编程思想 第四课 多元组, 结构体,枚举类型# 现代编程思想 多元组,结构体与枚举类型 Hongbo Zhang 基础数据类型:多元组与结构体 ## 回顾:多元组 • 多元组:固定长度的不同类型数据的集合 ☐ 定义: $ (\leq $ 表达式 $ \gt $ , $ \leq $ 表达式 $ \gt $ , $ \geq $ ) ☐ 类型:(<表达式类型>,<表达式类型>,...) ○ 例如: ■ 身份信息:("Bob" == 2023 • 列表:任意长度的相同类型数据的集合 ○ 例如: ■ 字符的序列:Cons('H', Cons('i', Cons('!', Nil))) Cons : construct 的缩写 ## 笛卡尔积 - 一个多元组类型的元素即是每个组成类型的元素构成的有序元素组。集合的笛卡尔积,又称积类型 。例:扑克牌的所有花色: $ \{ $ postal: Int } 通过名称,我们能明确数据的信息以及对应字段的含义 ## 结构体的定义 - 结构体的定义形如 struct <结构体名称> { <字段名>: <类型> ; ... } o struct PersonalInfo { name: String; age: Int} • 定义结构体的值时,形如 { <字段名>: <值>0 码力 | 26 页 | 435.86 KB | 2 年前3
C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型{ int x = -7 >> 2; printf("%d\n", x); } 1 ## 位运算 >> 对负数的处理 signed 类型的 >> n 会把最高位复制 n 次。 因为补码的特性,这导致负数 >> 的结果仍是负数。 这样就实现了和 Python 一样的始终向下取整除法。 ## 11001010 printf("%d\n", x); } -2 ## unsigned 类型的位运算 >> 不一样 而 unsigned 类型的 >> n 会不会复制最高位, 只是单纯的位移,这会导致负数的符号位单独被位 移,补码失效,造成结果不对。 unsigned 类型的 >> 会生成 shr 指令,signed 类型的 >> 会生成 sar 指令。 我们需要负方向无限延伸的稀疏数据结果,那就只要 2; } bate::timing("main"); return 0; } ## 使用 int64_t :每个占据 8 字节 • 如果用更大的数据类型,用时会直接提升两倍! 这是因为 i%2 的计算时间,完全隐藏在内存的超高延迟里了。 - 可见,当数据量足够大,计算量却不多时,读写数据量的大小唯一决定着你的性能。 - 特别是并行以后,计算量可以被并行加速,而访存却不行。0 码力 | 102 页 | 9.50 MB | 2 年前3
监控Apache Flink应用程序(入门)com/blog/monitoring-apache-flink-applications-101 这篇博文介绍了Apache Flink内置的监控和度量系统,通过该系统,开发人员可以有效地监控他们的Flink作业。通常,对于一个刚刚开始使用Apache Flink进行流处理的DevOps团队来说,选择对应的指标来监控Flink应用程序是非常艰巨的。在与许多大规模部署过Apache Flink的组织合作之后, 一个完整的认识和概述。 ## 1 Flink指标体系 Flink作业监控的基础是它的度量系统,该系统由两个部分组成: Metrics和MetricsReporters。 ### 1.1 Metrics Flink提供了一套全面的内置Metrics: - JVM堆/非堆/直接内存的使用情况(任务粒度) • 作业重启次数(作业粒度) 每秒处理的数据量(操作符粒度) · ..... 作为 作为用户,您可以并且应该向函数中添加应用程序相关的metrics。这些metrics包括无效记录的counter或托管状态下临时缓冲记录的counter等。除了counters之外,Flink还提供了其他类型的metrics,比如gauges和histograms。关于如何向Flink的metrics系统注册您自己的metrics,请参阅Flink文档 $ ^{1} $ 。在这篇博客中,我们将重点讨论如0 码力 | 23 页 | 148.62 KB | 2 年前3
MoonBit月兔编程语言 现代编程思想 第五课 数据类型:树、二叉树、二叉搜索树、AVL树R-Tree:存储空间几何结构 · ..... ## 数据结构:二叉树 - 二叉树要么是一棵空树,要么是一个节点;它最多具有两个子树:左子树与右子树。 - 叶节点的两个子树都是空树 • 基于递归枚举类型的定义(本节课默认存储数据为整数) 1. enum IntTree { 2. Node(Int, IntTree, IntTree) // 存储的数据,左子树,右子树 3. Empty0 码力 | 29 页 | 1015.26 KB | 2 年前3
Mypy 1.10.0+dev Documentationtype Any are present within your codebase. ## --cobertura-xml-report DIR Causes mypy to generate a C键类型 XML type checking coverage report. To generate this report, you must either manually install the lxml are present within your codebase. cobertura_xml_report Type: string Causes mypy to generate a C键类型 XML type checking coverage report. To generate this report, you must either manually install the lxml0 码力 | 318 页 | 270.84 KB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













