Golang大规模云原生应用管理实践
Golang⼤规模云原⽣应⽤管理实践 刘洋(炎寻) 关于我 • 毕业于中国科学技术大学,定居杭州 • 就职于阿里云-云原生应用平台团队 • Problem Solver,聚焦中间件,容器,Kubernetes,PaaS平台… • OAM社区成员 开局一张图 规模化应用交付效率对比去年 每万笔峰值交易的IT成本对比4年前 提升1倍 下降80% 云原生 技术 稳定 成本 效率 策略与机制随着层次的变化而变化; 应用管理的策略与机制 应用 版本 工作负载 负载均衡 标签 流量 组件 日志 指标 容量 服务 依赖 路由规则 持久卷 部署策略 健康检查 … 灰度 发布 定时弹性 事件 指标弹性 分批发布 重启 回滚 日志管理 事件中心 指标监控 存储挂载 服务绑定 手动弹性 回退历史 负载均衡 报警 诊断 组件管理 服务治理 … 级以维持安全,高可用,高性能的状态; • … 能力复用 自动化 可观测 稳定 安全 开发者真正想要的是策略:大象无形的基础设施,坚如磐石的中间件,丰富高效的应用PaaS平台 基础设施 云原生PaaS平台提供应用管理策略 基础设施 K8s 云原生生态(CNCF) 云原生应用 4 6 7 2 3 5 1 1 Kubectl plugins 2 Apiserver extension 3 4 50 码力 | 23 页 | 7.70 MB | 1 年前308 Pipenv和Python包管理 明希
Python的依赖管理及Pipenv @frostming 我是谁? • 研发效能·持续集成@Tencent • 从 2014 年开始用 Python,前测试,现开发 • 开源爱好者 • Pipenv 维护者之一 队长别开枪,是我! 目录 CONTENTS 为什么需要虚拟环境 为什么需要依赖管理 Pipenv 的简单使用 Python 包管理的未来 为什么需要虚拟环境 你是否遇到过这些问题: • virtualenvwrapper • pew • pyenv-venv • conda • direnv • ... pip ? + 我们为什么需要依赖管理 pip 是否已经足够使用? 它的依赖管理有什么问题? 碰到这些问题,该怎么办? 依赖冲突 $ pip install celery django-celery $ pip install celery $ pip (piptools) • Poetry • 没了 可用工具 Pipenv 的简单使用 • 自动创建、管理虚拟环境,与项目绑定 • 依赖解析、锁定 • 新的requirements.txt规范,基于TOML格式 • 优美的命令行界面 Pipenv Demo Python 包管理的未来 Python 包管理的未来 PEP 517 – 与构建系统无关的配置文件格式 PEP 518 – 在指定Python构建依赖0 码力 | 24 页 | 1.24 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理
分为前半段和后半段,前半段主要介绍现代 C++ ,后半段主要介绍并行编程与优化。 1.课程安排与开发环境搭建: cmake 与 git 入门 2.现代 C++ 入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 们来点(相对)简单的作为饭后甜点吧! C++98 :令人头疼的内存管理 • 在没有智能指针的 C++ 中,我们只能手 动去 new 和 delete 指针。这非常容易出 错,一旦马虎的程序员忘记释放指针,就 会导致内存泄露等情况,更可能被黑客利 用空悬指针篡改系统内存从而盗取重要数 据等。 RAII 解决内存管理的问题: unique_ptr • 似曾相识的情形……是的,和我们刚刚提 放时。比如:指向窗口中上一次被点击的元素。 5. 初学者可以多用 shared_ptr 和 weak_ptr 的组合,更安全。 shared_ptr 管理的对象生命周期,取决于所有引用中,最长寿的那一个。 unique_ptr 管理的对象生命周期长度,取决于他所属的唯一一个引用的寿命 。 那是不是只要 shared_ptr 就行,不用 unique_ptr 了? • 可以适当使用减轻初学者的压力,因为他的行为和0 码力 | 96 页 | 16.28 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南
现代 CMake 模块化项目管理指南 彭于斌( @archibate ) 课件 & 源码: https://github.com/parallel101/course 往期录播: https://space.bilibili.com/263032155 找不到头文 件怎么办呀 CMake Cookbook 小彭老师建议 : ~~-·~·~-·~ -~·-·~·- 第一章:文件 / 1/lib/cmake/Qt5” 设置。 举例, Windows 系统, Qt5 • 例如我把 Qt5 安装到了 D:/Qt5.12.1 。 • 首先找到他里面的 Qt5Config.cmake 文件所在位置(可以用文件管理器的“搜索”功能)。 • 假如你找到该文件的位置是 D:/Qt5.12.1/msvc2017/lib/cmake/Qt5/Qt5Config.cmake ,那 么请你设置变量 Qt5_DIR 为 阶段,可以从命令行设置(注意要加引号): • cmake -B build -DQt5_DIR=”D:/Qt5.12.1/msvc2017/lib/cmake/Qt5” • (2) 全局启用。右键“我的电脑” ->“ 管理” ->“ 高级”添加一个环境变量 Qt5_DIR 值为 D:/Qt5.12.1/msvc2017/lib/cmake/Qt5 ,然后重启 Visual Studio 。这样以后你每次构建任 何项目,0 码力 | 56 页 | 6.87 MB | 1 年前3全球架构师峰会深圳2015/研发体系构建_龚银_中型创业公司的技术管理之痛
ArchSummit 全球架构师峰会 深圳站 2015 中型创业公司的 技术管理之痛 By 龚银 何谓「中型创业公司」 创业 公司 中型 创业公司 成熟 公司 自我介绍 从事过传统IT、搞过硬件、短暂创业、玩过互联网、...... 金蝶 比格邦 天猫 一加 12 • 传统IT • ERP • 广电行业 • 硬件 • 重视规划和系统思维的作用,根据现状随时调整轻重缓急 充分的沟通机制和反馈机制,让大家都能有一致的理解 聚焦与系统思维 技术和管理比重随时调整和平衡 技术、业务和管理的平衡 技术管理者大多对技术热衷,对管理忽视 技术、业务、系统花费精力和时间太多,团队管理精力太少 平衡 时间的分配:轻重缓急,适度授权 根据团队规模和业务情况,选择合适自己的占比 制定规划,不同的时间点和阶段重心进行调整 个人的几点有效实践 锻炼身体,保持良好的体力和心态 每天写管理日志,如实记录,定期反思 保持学习,每天至少预留30分钟时间思考,30分钟时间学习 定期的一对一会谈 心态、视野、行动 不同公司不同阶段有不 同的关注点和解决方法 ,没有标准答案,思考 并实践,找到最合适自 己的路 文化 管理 组织 技术 “在担任CEO的8年多时间里 ,只有3天是顺境,剩下的80 码力 | 36 页 | 2.49 MB | 1 年前3Go Module在又拍云的实践
0 码力 | 28 页 | 12.85 MB | 1 年前32022年美团技术年货 合辑
(3)与业务系统无缝对接。 图神经网络的完整落地流程至少包括:基于业务数据构图、离线训练和评测模型、线 上推理、业务指标观测等步骤。要让图神经网络技术成功落地应用,需要充分理解业 务逻辑和业务需求,统一并高效地管理业务场景。同样以美食推荐场景为例,线上日 志记录了曝光、点击、下单等行为事件,知识图谱提供了商家和菜品丰富的属性数 据,如何从这些异质的数据构造图,要结合业务实际多次实验确定。合适的工具能提 升约 4 倍,内存占用降低约 60%。单机即可实现十亿节点百亿边规模的训练。 ● 围绕图神经网络框架 Tulong,我们构建了一站式的图学习平台,为研发人员 提供包括业务数据接入、图数据构建和管理、模型的训练和评测、模型导出上 线等全流程的图形化工具。 算法 < 69 ● Tulong 实现了高度可配置化的训练和评测,从参数初始化到学习率,从模型 结构到损失函数类型,都可以通过一套配置文件来控制。针对业务应用的常见 模型通常在每个时间片上单独应用 GNN 模型,然后聚合节点在不同时间的表征 [14]。我们把聚合过程抽象为离散时间 维度的聚合函数 ,同样提供预定义的实现。此外,Tulong 框架还提供离散时 间动态图数据的加载和管理机制,仅在内存中保留必须的时间片,降低硬件资源的 消耗。 74 > 2022年美团技术年货 图 4 离散时间动态图 GNN 模型框架 在连续时间动态图中,每条边附有时间戳,表示交互事件发生的时刻。相比于静态0 码力 | 1356 页 | 45.90 MB | 1 年前3Nacos架构&原理
Nacos 寻址机制 56 Nacos 服务发现模块 63 Nacos 注册中心的设计原理 63 Nacos 注册中心服务数据模型 80 Nacos 健康检查机制 89 Nacos 配置管理模块 97 配置⼀致性模型 97 Nacos ⾼可⽤设计 100 Nacos 高可用设计 100 Nacos 鉴权插件 103 Nacos 账号权限体系 103 Nacos 认证机制 110 281 Eureka 平滑迁移 Nacos 方案 281 Nacos 打通 CMDB 实现就近访问 288 跨注册中心服务同步实践 298 配置管理最佳实践 310 Nacos 限流最佳实践 310 Nacos 无缝支持 confd 配置管理 320 结语 326 结语 326 作者 < 6 作者 李艳林(彦林) 李晓双 孙立(涌月) 柳遵飞(翼严) 廖春涛(春少) 杨翊(席翁) 的架构设计、功能使用和最佳实践,推荐分布式应用的开发人员、运维人员和 对该领域感兴趣的技术爱好者阅读。 推荐序 < 8 Facebook 工程师 & CNCF 前 TOC 成员 - 李响 服务注册、发现与配置管理是构成大型分布式系统的基石。Nacos 是集成了这三种能力的现代化、 开源开放的代表系统。本书系统化的介绍了 Nacos 诞生的历史背景以及其在阿里集团内部孕育的过 程,阐述了打造⼀款实用、易用0 码力 | 326 页 | 12.83 MB | 9 月前3202205 MeterSphere:一站式开源持续测试平台
Enterprise Continuous Testing; Transforming Testing for Agile and DevOps 》报告 碎⽚化的测试⼯具是阻碍持续测试的关键因素之⼀ 测试管理 测试框架 接⼝测试 性能测试 UI 及移动测试 ⽆规范✗ 不兼容✗ ⽆联动✗ 协同难✗ 1 2 持续测试的兴起与现状 3 MeterSphere 加速企业持续测试落地 MeterSphere 实现协作测试能⼒外溢,帮助测试左移和测试右移。 测试⼀站式 数据⼀站式 包含⼈⼯测试、接⼝管理、接⼝⾃动化测试、UI 测试、性能测 试等测试功能,是⼀个功能⼀站式的测试平台。 对测试前准备数据、测试过程数据、测试后数据等进⾏整合 并持久化存储,并且⽀持外部系统或⼈员调⽤与查询。 组织管理 团队管理 项⽬管理 ⼈员管理 权限管理 测试跟踪 功能测试 接⼝测试 UI 测试 性能测试 数据库数据 以项⽬为维度的测试管理,让测试不再局限于具体测试⼈员- MeterSphere 关键能⼒设计⼀:协作⼀站式 ⻆⾊权限管理(菜单、操作) 共享⽤例库 项⽬交接 XX 团队 负责 A 项⽬全⽣命测试周期 负责 C 项⽬全⽣命测试周期 共同参与项⽬测试 (测试协同) ⽤例脑图 场景编写 ⼈员调岗与交接 评审协同 计划制定 接⼝规范 脚本规范 数据度量 报告分享 版本管理 消息中⼼0 码力 | 40 页 | 11.03 MB | 1 年前3202203 MeterSphere:一站式开源持续测试平台
促进 为什么测试环节会成为持续交付中的瓶颈? 03. 价值衡量 • 需求/⽤户故事的⻛险评估缺失; • 关键性核⼼业务测试评估不⾜。 02. 碎⽚化管理 • 测试⼯具使⽤碎⽚化,不同的测试⼯ 具之间不兼容、⽆联动; • 测试⼈员管理碎⽚化,不同的测试⼈ 员协同缺失。 01. 测试速度 • ⾮探索性⼿⼯执⾏⽤例⽐重过多; • ⽤例编写和维护在协同上较为冗余; • 测试环境准备,测试报告整理等花费了⼤ 测试平台是提⾼⽣产能效最⾼效⽅法之⼀ 开发中 等待测试 测试中 建设平台,提升测试整体的吞吐量 测试跟踪 测试计划 测试跟踪 测试环境 测试数据 测试资源 API 项⽬ 管理 ⼈员 管理 接⼝ 测试 功能 测试 性能 测试 UI 测试 其他 测试 从系统⻆⾊出发来看,下游的⽣ 产⼒决定上游的的⽣产速度。通 过测试平台的建设,最终推动研 发效能的提升。 1 实现协作测试能⼒外溢,帮助测试左移和测试右移。 测试⼀站式 数据⼀站式 包含⼈⼯测试、接⼝管理、接⼝⾃动化测试、UI 测试、性能测 试等测试功能,是⼀个功能⼀站式的测试平台。 对测试前准备数据、测试过程数据、测试后数据等进⾏整合 并持久化存储,并且⽀持外部系统或⼈员调⽤与查询。 组织管理 团队管理 项⽬管理 ⼈员管理 权限管理 测试跟踪 功能测试 接⼝测试 UI 测试 性能测试 数据库数据0 码力 | 41 页 | 11.71 MB | 1 年前3
共 457 条
- 1
- 2
- 3
- 4
- 5
- 6
- 46