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 年前3Go Web编程
install gcc libc6-dev来安装编译工具。 在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc,并设置相应的环境变量。 Go使用Mercurial进行版本管理,首先你必须安装了Mercurial,然后才能下载。假设你已经安装好Mercurial,执行 如下代码: 假设已经位于Go的安装目录 $GO_INSTALL_DIR下 hg clone -u o已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境 变中是否包含了Go的安装目录。 第三方工具安装 第三方工具安装 GVM GVM gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具。使用起来相当的方便,安装gvm使用如下命令: bash < <(curl -s https://raw.github.com/moovweb/gvm/mast 面系统,使用apt-get命令来管理软件包,我们可以通过下面的命令来安装Go: sudo add-apt-repository ppa:gophers/go sudo apt-get update sudo apt-get install golang-stable homebrew homebrew homebrew是Mac系统下面目前使用最多的管理软件的工具,目前已支持Go,可以通过命令直接安装Go:0 码力 | 295 页 | 5.91 MB | 1 年前3Hyperledger Fabric 1.4 中文文档
callable 任务 与远程程序集成 合并 stdout 和 stderr 伪终端 两者结合 作为库使用 连接服务器 断开连接 最后注意 输出管理 输出等级 隐藏和/或显示输出级别 并行执行 它是如何运转的 如何使用 bubble 大小 行级输出 vs 比特级输出 SSH 行为 未知主机 已知主机但更换了密钥 定义任务 新式任务 传统任务 API 文档 Fabric 维护了两套根据代码中 Fabric 基础构建块的函数、类和方法(例如 run 和 sudo )。而其他部分(下文的“扩展 API”和用户的 fabfile)都是在这些核心 API 的 基础之上构建的。 提供彩色输出的函数 上下文管理器 装饰器 文档助手 网络 业务(Operation) 任务 实用工具 扩展 API Fabric 的 扩展包 包括常用而有用的工具(通常是从用户的 fabfile 中合并进来 的),可用于用户 的),可用于用户 I/O、修改远程文件等任务中。核心 API 倾向于保持小巧、 不随意变更,扩展包则会随着更多的用户案例被解决并添加进来,而不断成长 进化(同时尽量保持向后兼容)。 终端输出工具 与 Django 集成 文件和目录管理 项目工具 参与 & 测试 我们欢迎高级用户 & 开发者提交并帮助修复 bug,或者帮助开发新功能。 © 版权所有 2016 Jeff Forcier. 由 Sphinx0 码力 | 145 页 | 161.53 KB | 1 年前3Hyperledger Fabric 2.5 中文文档
callable 任务 与远程程序集成 合并 stdout 和 stderr 伪终端 两者结合 作为库使用 连接服务器 断开连接 最后注意 输出管理 输出等级 隐藏和/或显示输出级别 并行执行 它是如何运转的 如何使用 bubble 大小 行级输出 vs 比特级输出 SSH 行为 未知主机 已知主机但更换了密钥 定义任务 新式任务 传统任务 API 文档 Fabric 维护了两套根据代码中 Fabric 基础构建块的函数、类和方法(例如 run 和 sudo )。而其他部分(下文的“扩展 API”和用户的 fabfile)都是在这些核心 API 的 基础之上构建的。 提供彩色输出的函数 上下文管理器 装饰器 文档助手 网络 业务(Operation) 任务 实用工具 扩展 API Fabric 的 扩展包 包括常用而有用的工具(通常是从用户的 fabfile 中合并进来 的),可用于用户 的),可用于用户 I/O、修改远程文件等任务中。核心 API 倾向于保持小巧、 不随意变更,扩展包则会随着更多的用户案例被解决并添加进来,而不断成长 进化(同时尽量保持向后兼容)。 终端输出工具 与 Django 集成 文件和目录管理 项目工具 参与 & 测试 我们欢迎高级用户 & 开发者提交并帮助修复 bug,或者帮助开发新功能。 © 版权所有 2016 Jeff Forcier. 由 Sphinx0 码力 | 138 页 | 154.00 KB | 1 年前3《Java 应用与开发》课程讲义 - 王晓东
. . . . . . . 62 6.2.3 Java 程序运行内存分析小结 . . . . . . . . . . . . . . . . . . . . . . 64 6.3 Java 内存管理建议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.3.1 Java 垃圾回收机制 . . . . . . . 65 6.3.3 内存优化的小示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.3.4 对象其他生命周期阶段内存管理 . . . . . . . . . . . . . . . . . . . 67 6.4 课后习题 . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 9.4 标准输入/输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 9.4.1 标准输入/输出概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 9.4.2 标准输入/输出的分类 . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
共 546 条
- 1
- 2
- 3
- 4
- 5
- 6
- 55