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 小彭老师建议 : ~~-·~·~-·~ -~·-·~·- 第一章:文件 / target_include_directories( 项目名 PUBLIC include) • 源码文件中写: • #include < 项目名 / 模块名 .h> • 项目名 :: 函数名 (); 完整案例请看源码仓库: https://github.com/parallel101/course/tree/master/16/00 推荐的目录组织方式 • 头文件(项目名 /include/ 项目名 / 模块名 h> • namespace 项目名 { • void 函数名 () { 函数实现 } • } 完整案例请看源码仓库: https://github.com/parallel101/course/tree/master/16/00 推荐的目录组织方式 完整案例请看源码仓库: https://github.com/parallel101/course/tree/master/16/00 一、划分子项目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
Go Module在又拍云的实践0 码力 | 28 页 | 12.85 MB | 1 年前3
Flask入门教程访问。 讨论与反馈 如果你有任何疑问和想法,欢迎通过下面的方式提出: 在 HelloFlask 论坛发布帖子,并选择“Flask 入门教程”分类。 在专栏对应的连载文章下面撰写评论。 在源码仓库创建 Issue。 相关资源 本书主页:http://helloflask.com/tutorial 本书论坛:https://discuss.helloflask.com 本书源码:https://github 知道你是谁,以便在提交代码到版本仓库的时候进行记录,使用下面的 命令设置你的信息: $ git config --global user.name "Grey Li" # 替换成你的名字 $ git config --global user.email "withlihui@gmail.com" # 替换成 你的邮箱地址 现在为我们的项目文件夹创建一个 Git 仓库,这会在我们的项目根目录创建一个 1 章:准备工作 8 $ git init Initialized empty Git repository in ~/watchlist/.git/ Git 默认会追踪项目文件夹(或者说代码仓库)里所有文件的变化,但是有些无关 紧要的文件不需要记录变化,我们在项目根目录创建一个 .gitignore 文件,在文件 中写入忽略文件的规则。因为文件内容比较简单,我们直接在命令使用 nano0 码力 | 127 页 | 7.62 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造软件当然也不不例例外 拆成微服务 微服务架构的九⼤大特征 •通过服务进⾏行行组件化 •围绕业务能⼒力力组织 •做产品⽽而不不是做项⽬目 •智能端点与傻⽠瓜管道 •去中⼼心化地治理理技术 •去中⼼心化地管理理数据 •基础设施⾃自动化 •容错设计 •演进式设计 可视化能帮我们什什么 掌握系统业务 明确系统边界 ⼩小步改造系统 可视化的认识遗留留系统 C4模型、⽤用户画像、⽤用户旅程 C4模型系统架构可视化 域专家和⼯工作坊参与者⼀一起明确在业务上究 竟是什什么领域模型发⽣生了了什什么改变,最终的 软件系统需要关注业务过程中发⽣生的业务数 据的变化。 事件⻛风暴暴示例例 订单 已创建 订单 已⽀支付 商城库存 已扣减 仓库库存 已占⽤用 商品 已创建 订单 已撤销 商城库存 已增加 出库单已 ⽣生成 出库单已 发货 投诉单 已创建 投诉单已 处理理 商城库存 已编辑 商品 已发布 补货申请 单已审批 ⼊入库单 已创建 ⼊入库单 已⼊入库 订单 已签收 订单已 确认收货 仓库库存 已扣减 仓库库存 已增加 商品已 编辑 退货单已 创建 退货单已 审核 订单已 退货 ⼊入库单 已创建 ⼊入库单 已⼊入库 仓库库存 已增加 寻找命令 事件⻛风暴暴 命令⻛风暴暴 寻找聚合 什什么是命令? 为什什么⽤用命令? 如何进⾏行行命令⻛风暴暴?0 码力 | 54 页 | 3.85 MB | 1 年前3
FISCO BCOS 2.9.0 中文文档Java SDK 问题排查 命令行交互控制台:节点查询与管理工具 命令行交互控制台是提供给开发者使用的节点查询与管理的工具。控制台 拥有丰富的命令,包括查询区块链状态、管理区块链节点、部署并调用合 约等。此外,控制台提供一个合约编译工具,用户可以方便快捷的将 Solidity合约文件编译为Java合约文件。 WeBASE:图形化的区块链管理工具 WeBASE(WeBank Blockchain Blockchain Application Software Extension) 是一套管理 FISCO-BCOS联盟链的工具集。WeBASE提供了图形化的管理界面,屏蔽了 区块链底层的复杂度,降低区块链使用的门槛,大幅提高区块链应用的开 发效率,包含节点前置、节点管理、交易链路,数据导出,Web管理平台 等子系统。 区块链浏览器:区块链数据浏览工具 区块链浏览器将区块链中的数据可视化,并进行实时展示。方便用户以 CO BCOS 2.0+,关于2.0+版本的特性可以参考此链接。在使用本浏览器之前需 要先理解2.0+版本的群组特性,详情可以参考此链接。 运维部署工具:企业级用户的区块链管理工具 运维部署工具是为企业用户提供的部署、管理和监控多机构多群组联盟链 的便捷工具。它面向于真实的多机构生产环境,为了保证机构的密钥安 全,运维部署工具提供了一种机构间相互合作部署联盟链方式。 数据治理通用组件:释放数据价值0 码力 | 2649 页 | 201.08 MB | 1 年前3
FISCO BCOS 2.9.0 中文文档Java SDK 问题排查 命令行交互控制台:节点查询与管理工具 命令行交互控制台是提供给开发者使用的节点查询与管理的工具。控制台 拥有丰富的命令,包括查询区块链状态、管理区块链节点、部署并调用合 约等。此外,控制台提供一个合约编译工具,用户可以方便快捷的将 Solidity合约文件编译为Java合约文件。 WeBASE:图形化的区块链管理工具 WeBASE(WeBank Blockchain Blockchain Application Software Extension) 是一套管理 FISCO-BCOS联盟链的工具集。WeBASE提供了图形化的管理界面,屏蔽了 区块链底层的复杂度,降低区块链使用的门槛,大幅提高区块链应用的开 发效率,包含节点前置、节点管理、交易链路,数据导出,Web管理平台 等子系统。 区块链浏览器:区块链数据浏览工具 区块链浏览器将区块链中的数据可视化,并进行实时展示。方便用户以 CO BCOS 2.0+,关于2.0+版本的特性可以参考此链接。在使用本浏览器之前需 要先理解2.0+版本的群组特性,详情可以参考此链接。 运维部署工具:企业级用户的区块链管理工具 运维部署工具是为企业用户提供的部署、管理和监控多机构多群组联盟链 的便捷工具。它面向于真实的多机构生产环境,为了保证机构的密钥安 全,运维部署工具提供了一种机构间相互合作部署联盟链方式。 数据治理通用组件:释放数据价值0 码力 | 2649 页 | 201.08 MB | 1 年前3
共 462 条
- 1
- 2
- 3
- 4
- 5
- 6
- 47













