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 年前3MoonBit月兔编程语言 现代编程思想 第十四课 案例:堆栈虚拟机
现代编程思想 案例:栈式虚拟机 Hongbo Zhang 1 编译与解释 编译 源程序 x 编译器 -> ⽬标程序 ⽬标程序 x 输⼊数据 -> 输出数据 解释 源程序 x 输⼊数据 x 解释器 -> 输出数据 CPU可以被视为⼴义上的解释器 拓展阅读:⼆村映射/部分计算 部分计算:程序优化,根据已知信息,运算进⾏特化 已知源程序与解释器,进⾏部分运算,获得⽬标程序 ⽬标程序 ⽬标程序 x 输⼊数据 -> 输出数据 2 虚拟机 ⼀处编写,处处运⾏ 定义⼀个不基于任何平台的指令集 在不同平台上实现解释器 两种常⻅的虚拟机 堆栈虚拟机:运算数存储在栈上,数据遵循先进后出原则 寄存器虚拟机:运算数存储在寄存器中 3 寄存器虚拟机 例:Lua VM (The Implementation of Lua 5.0) 取最⼤值 MOVE 2 0 0 ; R(2) JUMP -> 5 (4 + 1) MOVE 2 1 0 ; R(2) = R(1) RETURN 2 2 0 ; return R(2) RETURN 0 1 0 ; return 4 堆栈虚拟机 例:WebAssembly Virtual Machine 取最⼤值 fn max(a : Int, b : Int) -> Int 1. local.get $a local.set $m0 码力 | 31 页 | 594.38 KB | 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 年前3百度超级链 XuperChain 3.12-a中文文档
基本操作 合约开发详解 使用 SDK 开发超级链应用 使用合约模板 网络管理 搭建 XuperChain 网络 链上监管 监控链运行状态 平行链与跨链 链上治理 高级教程 使用合约开发套件 开发可信任应用 开发跨链应用 使用开放网络 使用测试网络 使用国密 实现原理 核心数据结构 共识框架 对等网络 智能合约虚拟机 权限系统 平行链与跨链设计 插件设计 贡献指南 贡献准备 完善超级链文档 并行执行和验证,通过自研的WASM虚拟机,做到了指令集级别的极致优 化。 在架构方面,其可插拔、插件化的设计使得用户可以方便选择适合自己业务 场景的解决方案,通过独有的XuperBridge技术,可插拔多语言虚拟机,从而 支持丰富的合约开发语言。 在网络能力方面,XuperChain具备全球化部署能力,节点通信基于加密的P2P 网络,支持广域网超大规模节点,且底层账本支持分叉管理,自动收敛一致 性,TD 拔,从而可以支持不同的业务场景 密码学 用于构造和验证区块、交易的完整性,采用非对称加密算法生成 公私钥、地址。匿名性 较好。支持可插拔,从而可以支持不同的 业务场景 智能合 约 自研并实现了一套智能合约虚拟机XVM,支持丰富的开发语言, 智能合约之间并发执行, 支持执行消耗资源,避免恶意攻击 提案 一种解决系统升级问题的机制。比如修改区块大小,升级共识算 法。提案整个过程涉及 到发起提案、参与投票、投票生效三个阶0 码力 | 336 页 | 12.62 MB | 1 年前3百度超级链 XuperChain 3.12-c 中文文档
基本操作 合约开发详解 使用 SDK 开发超级链应用 使用合约模板 网络管理 搭建 XuperChain 网络 链上监管 监控链运行状态 平行链与跨链 链上治理 高级教程 使用合约开发套件 开发可信任应用 开发跨链应用 使用开放网络 使用测试网络 使用国密 实现原理 核心数据结构 共识框架 对等网络 智能合约虚拟机 权限系统 平行链与跨链设计 插件设计 贡献指南 贡献准备 完善超级链文档 并行执行和验证,通过自研的WASM虚拟机,做到了指令集级别的极致优 化。 在架构方面,其可插拔、插件化的设计使得用户可以方便选择适合自己业务 场景的解决方案,通过独有的XuperBridge技术,可插拔多语言虚拟机,从而 支持丰富的合约开发语言。 在网络能力方面,XuperChain具备全球化部署能力,节点通信基于加密的P2P 网络,支持广域网超大规模节点,且底层账本支持分叉管理,自动收敛一致 性,TD 拔,从而可以支持不同的业务场景 密码学 用于构造和验证区块、交易的完整性,采用非对称加密算法生成 公私钥、地址。匿名性 较好。支持可插拔,从而可以支持不同的 业务场景 智能合 约 自研并实现了一套智能合约虚拟机XVM,支持丰富的开发语言, 智能合约之间并发执行, 支持执行消耗资源,避免恶意攻击 提案 一种解决系统升级问题的机制。比如修改区块大小,升级共识算 法。提案整个过程涉及 到发起提案、参与投票、投票生效三个阶0 码力 | 336 页 | 12.62 MB | 1 年前3百度超级链 XuperChain 3.12 中文文档
基本操作 合约开发详解 使用 SDK 开发超级链应用 使用合约模板 网络管理 搭建 XuperChain 网络 链上监管 监控链运行状态 平行链与跨链 链上治理 高级教程 使用合约开发套件 开发可信任应用 开发跨链应用 使用开放网络 使用测试网络 使用国密 实现原理 核心数据结构 共识框架 对等网络 智能合约虚拟机 权限系统 平行链与跨链设计 插件设计 贡献指南 贡献准备 完善超级链文档 并行执行和验证,通过自研的WASM虚拟机,做到了指令集级别的极致优 化。 在架构方面,其可插拔、插件化的设计使得用户可以方便选择适合自己业务 场景的解决方案,通过独有的XuperBridge技术,可插拔多语言虚拟机,从而 支持丰富的合约开发语言。 在网络能力方面,XuperChain具备全球化部署能力,节点通信基于加密的P2P 网络,支持广域网超大规模节点,且底层账本支持分叉管理,自动收敛一致 性,TD 拔,从而可以支持不同的业务场景 密码学 用于构造和验证区块、交易的完整性,采用非对称加密算法生成 公私钥、地址。匿名性 较好。支持可插拔,从而可以支持不同的 业务场景 智能合 约 自研并实现了一套智能合约虚拟机XVM,支持丰富的开发语言, 智能合约之间并发执行, 支持执行消耗资源,避免恶意攻击 提案 一种解决系统升级问题的机制。比如修改区块大小,升级共识算 法。提案整个过程涉及 到发起提案、参与投票、投票生效三个阶0 码力 | 336 页 | 12.62 MB | 1 年前3
共 467 条
- 1
- 2
- 3
- 4
- 5
- 6
- 47