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 年前3
08 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 年前3
C++高性能并行编程与优化 - 课件 - 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 年前3
C++高性能并行编程与优化 - 课件 - 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 年前3
Django 官方教程翻译项目6. PR。 README - 5 - 本文档使用 书栈(BookStack.CN) 构建 初识 Django 初识 Django 设计模型 创建模型 享用便捷的 API 动态生成的管理页面:并非徒有其表 规划 URL 编写视图 设计模板 这只是冰山一角 Django 最初被设计用于具有快速开发需求的新闻类站点,目的是要实现简单快捷的网站开发。以下 内容简要介绍了如何使用 66. # 用 delete() 来删除一个对象。 67. >>> r.delete() 动态生成的管理页面:并非徒有其表 初识 Django - 8 - 本文档使用 书栈(BookStack.CN) 构建 当你的模型完成定义,Django 就会自动生成一个专业的生产级管理页面 - 一个可以让已认证用户 进行添加、更改和删除对象的 Web 站点。你只需简单的在 admin 站点上注册你的模型即可。 register(models.Article) 这样设计所遵循的理念是,站点编辑人员可以是你的员工、你的客户、或者就是你自己——而你大概不 会乐意去废半天劲创建一个只有内容管理功能的后台管理界面。 创建 Django 应用的典型流程是:先建立数据模型,然后搭建管理站点,尽可能快的跑起来。那样 你的团队(或者客户)就可以向网站里填充数据了。后面我们会谈到如何展示这些数据。 简洁优雅的 URL 规划对于一个高质量 Web0 码力 | 103 页 | 1.86 MB | 1 年前3
领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进业务用例 • 功能\语义相关性 • 技术应用 • 团队规模 建模子域 构件模型上下 文 模型编辑上下 文 计算子域 报表子域 模型转换子域 做法子域 通用子域 汇总上下文 指标管理上 下文 三维模型转换 上下文 CAD翻模上下 文 模型检查上下 文 平法模型上下 文 截面钢筋模型 上下文 土建计算上下 文 钢筋计算上下 文 土建计算设置 上下文 上下文 发布 解决: 上游模型变化,下游模型联动 发布-订阅机制 架构演进 1 2 3 领域拆分 架构分层 构建领域模型 架构分层 持久化层 领域层 CAD图纸管理 建模UI 通用UI组件 几何算法 通用框架机制 通用算法 CAD/BIM UI 图元绘制 显示层 应用层 CAD识别 BIM模型转换 模型编辑 批量操作 CAD模型 BIM模型 平法模型 钢筋模型 模型转换 案例1:CAD翻模领域拆分及分层设计 • 隔离功能交互与业务逻辑 • 识别算法独立,引入人工智能算法 持久化层 领域层 CAD图纸管理 CAD翻模UI 显示层 应用层 CAD图层管理 CAD识别命令 CAD模型 CAD模型持久化 CAD识别算法 模型转换 CAD识别数据 模型 构件模型 CAD翻模服务 架构演进 1 2 3 领域拆分0 码力 | 33 页 | 1.25 MB | 1 年前3
Go Module在又拍云的实践0 码力 | 28 页 | 12.85 MB | 1 年前3
王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI Desktop Server 的全平台实践经验利⽤ Amphitheatre 配置⽂ 件, 执⾏标准 CI/CD ⼯ 作流,轻松发布! 开发⼯程师需要在本机安装各种编程语⾔的运⾏时和相关的框 架以及库,随着业务规模的增⻓,多语⾔多版本的维护和管理 变得越来越复杂。 技术栈杂多 研发流程⻓达⼗⼏个步骤:安装开发软件、配置环境、克隆代 码、开发、本地调试、提交代码、编译构建、⾃动化测试、部 署到测试环境、测试验收、合并代码到主线、部署到⽣产环 Buildpacks How Buildpacks work 分析 探测 恢复构建包可⽤于优化构建和导出阶段的⽂件。 查找⼀组有序的构建包以在构建阶段使⽤。 恢复 构建 从缓存中恢复图层。 将应⽤程序源代码转换为可以打包到容器中的可运⾏⼯件。 导出 创建最终的 OCI 图像。 Packages and Crates cli desktop common client apiserver0 码力 | 34 页 | 10.81 MB | 1 年前3
硬件创业公司的Rust应用和转型 - 陈昱衡屏幕交互是用户体验的核心之一 相 似 串口屏用户体验不佳,开发复用性低 多端统一 Slint更多应用 Slint尝试 未来望 胶囊测温仪 Slint踩坑 开荒 Flickable 底部图层按键/滚轮 触发 图片切换时直接改图片地址导致卡顿 数据无法正常渲染 图表无支持,列表表格等支持弱 。。。 轻量化,高效率 多平台多语言支持 团队未来愿景 类QML的语法 Cargo0 码力 | 23 页 | 4.95 MB | 1 年前3
共 455 条
- 1
- 2
- 3
- 4
- 5
- 6
- 46













