Golang大规模云原生应用管理实践Golang⼤规模云原⽣应⽤管理实践 刘洋(炎寻) 关于我 • 毕业于中国科学技术大学,定居杭州 • 就职于阿里云-云原生应用平台团队 • Problem Solver,聚焦中间件,容器,Kubernetes,PaaS平台… • OAM社区成员 开局一张图 规模化应用交付效率对比去年 每万笔峰值交易的IT成本对比4年前 提升1倍 下降80% 云原生 技术 稳定 成本 效率 tes进行的一场技术标准化演进。通过标准可扩展的调度,网络, 存储,容器运行时接口来提供基础设施;通过标准可扩展的声明式资源和控制器来提供运维能力。两层标 准化推进了细化的社会分工,各领域进一步提升规模化和专业化,全面达到成本,效率,稳定性的优化。 4 6 7 2 3 5 1 1 Kubectl plugins 2 Apiserver extension 3 4 5 6 7 Custom applicationconfiguration/oamacree Successfully applied components 新的复杂度-控制器运维 我们要管控大规模的集群,每个集群也会部署大量的控制器,控制器本身的运维成为问题 • 控制器管控平台 • 升级 • 回滚 • 灰度 • 重启 • 观测性 • Prometheus • 统一日志收集 • 事件中心0 码力 | 23 页 | 7.70 MB | 1 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬大规模高性能区块链架构 设计模式与测试框架 Gopher Meetup 深圳站 2021 年 8 ⽉ 21 号 趣�科技 李世敬 目录 区块链概述 01 大规模高性能区块链架构设计介绍 02 基于Go插件的区块链性能测试工具 03 写在最后 04 区块链概述 4 趣链科技 版权所有 ©2016-2021 4 趣链科技 版权所有 ©2016-2021 4 趣链科技 版权所有 ©2016-2021 在区块链⽹络中的准 ⼊要求。且⾮许可链⽹络节点⼤都由业务相关的机构组成,造成架构上共识、合约、安全、权限等⽅⾯的不同 �可�架构 大规模高性能区块链架构设计介绍 15 趣链科技 版权所有 ©2016-2021 ⼤�模⾼性能区��架构⾯�的�� 大规模高性能 区块链架构设计 网络连通问题 数据孤岛问题 异构部署问题 性能扩展问题 之困局 ? n 机构间数据难打通,不愿打通 n 公网内网、网关网闸情况复杂 多类型节点分层部署模式 1 3 动态⾃发现⽹络转发模型 2 ⼤规模组⽹⾼效共识算法 1.提⾼数据处理效率 2.提升终端异构性能⼒ 3.提供实时计算与验证服务 4.解决数据真实性“第⼀公⾥” 问题 ⾯向海量节点⼤规模应⽤场景, ⽀持1000+节点的⽣产级联盟链⽹络, 可以实现数⼗万个多类型区块链⽹络节点分层部署 技术简介 技 术 特 性 区块链平台关键技术-大规模组网模型 18 趣链科技 版权所有 ©2016-20210 码力 | 39 页 | 56.58 MB | 1 年前3
Go vs. GoPlus(Go+)Intelligence) • Limited Data (有限数据规模) • 数据科学不是基础设施,而是数学应用软件 • 全能力:统计/预测/洞察/规划/决策/… 数据科学的基建时期:大数据的兴起 • Map/Reduce (2004) • Hadoop (2006) • Spark (2009) • 大数据的兴起,是数据科学基础设施化的开始 • 以大规模处理能力为优先 • 功能上相对局限 数据科学的基建时期:深度学习的兴起 BI (Business Intelligence) -Limited Data (有限数据规模): 比如 Excel、Matlab • 未来 -Full Domains (全领域): 智能应用 (Intelligent Application) • 典型代表:抖音、快手 -Big Data (大规模数据) -Any Where (随处): 云 (Cloud)、智能手机 (Smart Phone)、嵌入式设备 用户使用范式最大化的确定 • 在 1.0 版本中尽可能大部分语法都稳定下来 Go+下一步的重心 • 所以我们决定:先单引擎迭代,先做好静态编译执行 • 等 1.0 发布后再发展脚本引擎 Go+团队成员持续寻找中 • Go+ 统一了程序员与数据科学家的语言,让双方自然对话 • Go+ 会是数据科学领域的下一场巨大变革 • 我很兴奋能够参与其中 • 你呢? THANKS https://github0 码力 | 54 页 | 1.82 MB | 1 年前3
go web 框架 严清Frameworks Web Service 框架解决的核⼼心问题 —— 严清 teambition 团队协作⼯工具创导者 关于我 • 五年年 JS ,⼀一年年 Go,也玩 Rust Github 满满绿格⼦子⻅见证我开发⽣生涯的⼀一⾯面 • 16 年年底组建 Go 团队,重构后端服务体 系,为此造了了⼀一些轮⼦子,如 Gear 框架 基于 kubernetes 和 SOA,部分已上线,如 SOA,部分已上线,如 TCM 消息推送服 务直接提供 HTTP/2 和 gRPC 接⼝口 • 前端架构师 ➞ 后端架构师 ⇢ 技术负责⼈人 技术学习⽆无⽌止境,逼迫个⼈人成⻓长,推进团队成⻓长 Why I Don’t Use Go Web Frameworks ——Joe Chasinga 本想⽹网上搜个 PPT 交作业给谢⼤大~ 结果: • http package 能⼒力力强⼤大,已是⼀一个 Todolist,或者是个⼈人开发者、爱折腾,没问题! 否则,还是使⽤用⼀一款框架吧! Web 框架要解决三个核⼼心问题 • 定义灵活、⼀一致的开发模式 简单易易上⼿手,⽀支撑⼤大规模复杂应⽤用,⽀支撑团队开发 • 集成简洁、完善的异常处理理能⼒力力 不不被 if err != nil { } 羁绊,不不放过任何异常,优雅漂亮地处理理错误和异常 • 提供强⼤大、实⽤用的 HTTP0 码力 | 23 页 | 333.12 KB | 1 年前3
2.2.5 Go 如何助力企业进行微服务转型能够⽀撑的业务规模有限 微服务的优点 • 边界清晰的业务拆分 • 易开发、易理解、易维护 • 技术栈可相对独⽴ • 持续集成、持续部署更容易 • 按需对服务进⾏治理 • 稳定性更容易保障 微服务的缺点 • 增加了系统复杂度 • 数据拆分复杂度 • 难调试、难测试 • 跨服务修改麻烦 • 部署复杂 到底怎么选? • ⾸先看业务 • 其次看团队 • 从简单⼊⼿ 当前架构已不能满⾜业务发展需要 • 研发效率降低 • 持续集成、持续交付⽐较困难 • 团队⼈员已经⽐较多了 单体到微服务怎么转? 如何启动? • 最重要的是决⼼ • 充分调研必要性 • 技术选型 • 充分调研可⾏性 • 争取公司或者部⻔领导的⽀持 • 建微服务迁移核⼼团队,经验、执⾏⼒、⾃驱⼒ 现状分析 • ⼀团乱麻型 • 数据清晰型 • 分布式单体型0 码力 | 25 页 | 4.51 MB | 1 年前3
2.3 用golang写一个操作系统阿⾥里云2万台服务器 新开的北京中⼼心1万台 http://server.zol.com.cn/452/4522831.html 09年,Google9万台服务器(另说06年45万台) 构建同⾏行规模(⺴⽹网络,存储)⼤大约只需要数千万⼈人民币 类⽐比: ⼀一个是现有的中国电⼒力系统(电⼚厂+电⺴⽹网) ⼀一个是成本低于电费的个⼈人太阳能加⾃自动组⺴⽹网技术 便可以完成所有开发⼯工作 l ⾃自动⽀支持⼤大数据 相⽐比于传统的互联⺴⽹网应⽤用,⽤用户越多,系统的⽀支撑能⼒力越强。同时不需要考虑 应⽤用规模变⼤大之后引发的开发团队失控问题。 效率:降低应⽤用开发维护成本 微博,有新浪微博的⼤大部分功能。 ⽤用户体验和传统的⺴⽹网⻚页浏览没太⼤大区别: 保存⼀一个⼩小⽂文件到桌⾯面,通过浏览器打开。 Leither-应⽤用演⽰示:微博 api 开发⽅方式 应⽤用发布 应⽤用的内部代码展⽰示 l ⼩小范围内测已过,架构的各体系基本完备,可⾏行性已经验证 l ⾃自建节点,⾃自建应⽤用,万⼈人规模左右的内测 现有的微博应⽤用,继续强化 ⺫⽬目前阶段: ü 其他语⾔言不适合 ü 丰富的开源资料 ü 跨平台 ü 编绎速度不到3秒0 码力 | 33 页 | 1014.12 KB | 1 年前3
2-6-Golang 在 Baidu-FrontEnd 的应用-陶春华Golang在BFE的应用 百度运维部 陶春华 taochunhua@baidu.com 2016年4月 个人简介 • 陶春华,运维部,Baidu Front End团队 –2010年,天津大学,计算机专业博士 • 2013年7月,加入百度 –使用GO开发的项目 • 7层流量代理GO-BFE • 应用层防火墙WAF • 百度GOLANG委员会成员 内容提要 • 后台程序开发的需求和难点 –GO-BFE的场景和服务模式,大量的goroutine必然 存在 • 需要根据线上运行实际情况来做选型 协议一致性问题 • GO-BFE 参考了Go的http库 • 基于Go的http实现是否完善,符合rfc标准 –没有大规模的应用的例子 • 需要一些方法来验证 –网络协议一致性测试是难点 协议一致性 • Macaroon框架 Mock client GO-BFE Mock server •Tcpcopy线上引流对比0 码力 | 35 页 | 730.17 KB | 1 年前3
1.2 基于 Golang 构建高可扩展的云原生 PaaS 平台基于 Golang 构建⾼可扩展的云原⽣ PaaS 平台 刘浩杨 端点 技术专家 个⼈简介 - 18年加⼊端点,现任微服务和监控团队负责⼈ - 端点开源 PaaS Erda 的核⼼架构师 - 开源爱好者, Apache SkyWalking PMC 成员 ⽬ 录 ⾯向云原⽣的软件交付 01 端点⼀站式 PaaS - Erda 02 Erda 架构的思考 03 模块化开发框架 业务 数据 业务系统 B 资源管理在统⼀平台 应⽤运⾏在统⼀平台 构建标准的交付环境 交付产物标准化 - 业务配置 - 资源配置 - 依赖配置 - 流⽔线配置 配置即代码 : 实现⼤规模交付的部署过程可被验证 PaaS 平台:资源管理,容器编排,基础监控和告警 APM 监控:应⽤诊断,链路追踪,⽇志分析 微服务治理组件 可靠的业务 贴身护航 基础⽀撑 持续保障系统稳定性0 码力 | 40 页 | 8.60 MB | 1 年前3
Go 入门指南(The way to Go)通过对官方的在线文档、名人博客、书籍、相关文章以及演讲的资料收集和整理,并结合我自身在软件工程、编程语 言和数据库开发的授课经验,将这些零碎的知识点组织成系统化的概念和技术分类来进行讲解。 随着软件规模的不断扩大,诸多的学者和谷歌的开发者们在公司内部的软件开发过程中开始经历大量的挫折,在诸多 问题上都不能给出令人满意的解决方案,尤其是在使用 C++ 来开发大型的服务端软件时,情况更是不容乐观。由于 语言的方法,认为这些工作只是在浪费时间,牺牲人们的努力。 就在此时,Go 语言已经成功地解决了 C++ 中那些本打算解决却未能解决的关键问题。” 我非常想要向发明这门精湛的语言的 Go 开发团队表示真挚的感谢,尤其是团队的领导者 Rob Pike、Russ Cox 和 Andrew Gerrand,他们阐述的例子和说明都非常的完美。同时,我还要感谢 Miek Gieben、Frank Muller、Ryanne Griesemer,参与开发 Java HotSpot 虚拟机;Rob Pike,Go 语言项目总负责人,贝尔实验室 Unix 团队成员,参与的项目包括 Plan 9,Inferno 操作系统和 Limbo 编程语言;Ken Thompson,贝尔实验室 Unix 团队成员,C 语言、Unix 和 Plan 9 的创始人之一,与 Rob Pike 共同开发了 UTF-8 字符集规范。自 20080 码力 | 466 页 | 4.44 MB | 1 年前3
Go 入门指南(The way to Go)资源。本书通过对官方的在线文档、名人博客、书籍、相关文章以及演讲的资料收集和整理,并结合我自 身在软件工程、编程语言和数据库开发的授课经验,将这些零碎的知识点组织成系统化的概念和技术分类 来进行讲解。 随着软件规模的不断扩大,诸多的学者和谷歌的开发者们在公司内部的软件开发过程中开始经历大量的挫 折,在诸多问题上都不能给出令人满意的解决方案,尤其是在使用 C++ 来开发大型的服务端软件时,情 况更是不容乐观 语言的方法,认为这些工作只 是在浪费时间,牺牲人们的努力。就在此时,Go 语言已经成功地解决了 C++ 中那些本打算解决却未能解 决的关键问题。” 我非常想要向发明这门精湛的语言的 Go 开发团队表示真挚的感谢,尤其是团队的领导者 Rob Pike、Russ Cox 和 Andrew Gerrand,他们阐述的例子和说明都非常的完美。同时,我还要感谢 Miek Gieben、 Frank Muller、Ryanne Griesemer,参与开发 Java HotSpot 虚拟机;Rob Pike,Go 语言项目总负责人,贝 尔实验室 Unix 团队成员,参与的项目包括 Plan 9,Inferno 操作系统和 Limbo 编程语言;Ken Thompson,贝尔实验室 Unix 团队成员,C 语言、Unix 和 Plan 9 的创始人之一,与 Rob Pike 共同开 发了 UTF-8 字符集规范。自 20080 码力 | 380 页 | 2.97 MB | 1 年前3
共 43 条
- 1
- 2
- 3
- 4
- 5













