基于 mesos 的容器调度框架2017/8/3 基于 mesos 的容器调度框架 http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 1/36 基于 mesos 的容器调度框架 Gopher 杭州 meetup 5 August 2017 黄励博(huangnauh) 又拍云 2017/8/3 基于 mesos 的容器调度框架 http://go-talks http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 2/36 What's Upone 2017/8/3 基于 mesos 的容器调度框架 http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 3/36 Mesos 介绍 Image credit: apache.org (http://mesos.apache.org/) 官方称之为分布式系统内核, 它把数据中心的 CPU、内存、磁盘等抽象成一个资源池 2017/8/3 基于 mesos 的容器调度框架 http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 4/36 Mesos 调度 各个 Agent0 码力 | 36 页 | 2.49 MB | 1 年前3
2.5 Go在猎豹移动的应用0 码力 | 24 页 | 4.26 MB | 1 年前3
Golang大规模云原生应用管理实践就职于阿里云-云原生应用平台团队 • Problem Solver,聚焦中间件,容器,Kubernetes,PaaS平台… • OAM社区成员 开局一张图 规模化应用交付效率对比去年 每万笔峰值交易的IT成本对比4年前 提升1倍 下降80% 云原生 技术 稳定 成本 效率 云原生-程序员视角 基础设施 K8s 云原生生态(CNCF) 云原生应用 云原生是以容器技术为基础围绕 云原生是以容器技术为基础围绕着Kubernetes进行的一场技术标准化演进。通过标准可扩展的调度,网络, 存储,容器运行时接口来提供基础设施;通过标准可扩展的声明式资源和控制器来提供运维能力。两层标 准化推进了细化的社会分工,各领域进一步提升规模化和专业化,全面达到成本,效率,稳定性的优化。 4 6 7 2 3 5 1 1 Kubectl plugins 2 Apiserver extension 3 4 5 resources Scheduler extension Custom controller Network plugins Storage plugins 统筹规划, 降低成本 自动化运维, 提升稳定性 非业务逻辑剥离, 提升交付效率 Golang与云原生生态(CNCF) 项目数占比: 214/1512(14.2%) Github star数占比:1265737 / 2458072(510 码力 | 23 页 | 7.70 MB | 1 年前3
2.1.7 谈如何构建易于拆分的单体应用transport 。。。 elegant monoliths with go-kit 弹幕 directory 房间 directory ⽤户 directory ➢ 告别传统的MVC,⽤服务化/模块化的思想来构建我们的单体应⽤ 1. 同⼀个repo下,不同模块之间按照不同⽬录进⾏隔离; 2. 模块之间的通过service.go中定义的接⼝interface进⾏通信,⾼层模块不应该依赖于低层模块,两者都应该依赖其抽0 码力 | 27 页 | 13.04 MB | 1 年前3
使用Go与redis构建有趣的应用(bitmap)、HyperLogLog、地理理坐标(GEO) • 内存存储和基于多路路复⽤用的事件响应系统,确保了了命令请求的执⾏行行速度和效率 • 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、 RDB+AOF 混合) 特点 • 具有多种不不同的数据结构可⽤用,其中包括:字符串串、散列列、列列表、集合、有序集合、位图 (bitmap)、HyperLogLog、地理理坐标(GEO) 地理理坐标(GEO) • 内存存储和基于多路路复⽤用的事件响应系统,确保了了命令请求的执⾏行行速度和效率 • 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、 RDB+AOF 混合) • 强⼤大的多机功能⽀支持:主从复制(单主多从)、Sentinel(⾼高可⽤用)、集群(基于 Raft 算法,多 主多从,内建⾼高可⽤用) 特点 • (bitmap)、HyperLogLog、地理理坐标(GEO) • 内存存储和基于多路路复⽤用的事件响应系统,确保了了命令请求的执⾏行行速度和效率 • 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、 RDB+AOF 混合) • 强⼤大的多机功能⽀支持:主从复制(单主多从)、Sentinel(⾼高可⽤用)、集群(基于 Raft 算法,多 主多从,内建⾼高可⽤用)0 码力 | 176 页 | 2.34 MB | 1 年前3
1.1 Go语言游戏项目应用情况汇报业务层:顺序结构以及接⼝口注册 • 数据层:映射MySQL的内存数据库以及代码⾃自动⽣生成 通讯层 • 通讯协议描述⽂文档的格式选择 • XML、JSON • Protobuf • ⾃自定义语法 • 可视化编辑 通讯协议描述⽂文档⽚片段 通讯协议解包封包代码⽚片段 业务层 • 从结构上屏蔽所有可能发⽣生的阻塞 • ⽂文件读写 • RPC调⽤用 • chan阻塞 • 尽可能提⾼高响应速度0 码力 | 21 页 | 1.63 MB | 1 年前3
Go在数据库中间件的应用Go在数据库中间件的应用 基础架构组/刘延允 liuyun827@foxmail.com 2017年9月 1 关于我 • 刘延允——酷狗音乐,基础架构组 • 数据库变更通知服务 • 酷狗消息队列 • 酷狗数据库中间件 • 主要工作:分布式存储、高可用、数据库 • 两年通信设备开发经验,四年互联网 • 五年C/C++使用经验,一年Golang 2 CONTENTS • 程序开发的需求 mysql-group mysql-group mysql-group SQL (requests) zookeeper dbmointer • 系统框架图 整套系统致力于提供一套mysql分布式解决方案,上层应用就跟使用单机mysql 一样接入本系统(部分SQL语句不支持)。 6 系统整体方案 • 系统功能 • 读写分离。 • 平滑上下线Mysql。 • 主备自动切换(主-主模式)。 • 分表设计——按照Hash分表 分表设计——按照范围分表(年、月、日、整形) • 数据库表在多个mysql实例间平滑扩容 • 大表拆分为多个子表情况下的平滑扩容 7 系统整体方案 • 现存问题 • 数据库访问基本采用直连方式 • 无法满足数据访问平台化要求 • 配置管理方式落后,运维压力大 • 为什么采用Go来实现 • go诸多优点,可用性高 • go处理mysql的binlog有知识积累 • 公司大规模推广使用go 8 分表路由逻辑0 码力 | 17 页 | 4.02 MB | 1 年前3
1.每秒百万数据点 Go 应用监控系统演进每秒百万数据点 Go 应用监控系统演进 张平 AfterShip 高级 SRE 关于 AfterShip 拥抱云原生和开源系统 目 录 监控架构概览 01 如何监控 Go 应用? 02 Metrics 系统架构演进 03 Why VictoriaMetrics so good? 04 总结与展望 05 监控架构概览 第一部分 监控系统架构概览 -- 数据源 监控系统架构概览 监控系统架构概览 -- 告警配置 监控系统架构概览 -- 告警通道 如何监控 Go 应用? 第二部分 基于 Prometheus Go 应用监控接入流程 确定指标 为应用埋点 部署应用 配置服务发现 监控展示 指标类型 ● Go 运行时指标 ○ Goroutine 数量 ● 应用层指标 ○ infra_http_request_total ● 业务指标 ○ 总 Tracking 查询量 第四部分 极致的设计与优化 ● 根据容器可用的 CPU 数量计算协程数量 ● 区分 IO 协程和计算协程,同时提供了协程优先级策略 ● 使用 ZSTD 压缩传输内容,降低磁盘性能要求 ● 根据可用物理内存限制对象的总量,避免 OOM ● 区分 fast path 和 slow path Gorilla 压缩算法 压缩算法优化 ● 改进 XOR,通过应用 10^X 乘数将 value 浮点值转换为整数值0 码力 | 42 页 | 2.32 MB | 1 年前3
1.2 Go 在分布式系统开发中的应用0 码力 | 20 页 | 131.34 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委员会成员 内容提要 • 后台程序开发的需求和难点 数据分析 BFE 为什么重写BFE • 现存问题 –修改成本高 • 事件驱动的编程模型:编码和调试难度大 • C语言本身的难度和开发效率 –配置管理方式落后 • 为单产品线设计,无法支持平台化要求 • 配置变更(修改、重载、验证)能力差 –变更和稳定性的矛盾 • 程序出core 技术选型:Go vs Nginx • 学习成本 • 开发成本 –并发编程模型:同步(Go) vs 异步(Nginx) outine必然 存在 • 需要根据线上运行实际情况来做选型 协议一致性问题 • GO-BFE 参考了Go的http库 • 基于Go的http实现是否完善,符合rfc标准 –没有大规模的应用的例子 • 需要一些方法来验证 –网络协议一致性测试是难点 协议一致性 • Macaroon框架 Mock client GO-BFE Mock server •Tcpcopy线上引流对比0 码力 | 35 页 | 730.17 KB | 1 年前3
共 80 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8













