通用模板课件 Sina JPool微博平台自动化运维实践PPT

上传人:文*** 文档编号:57658851 上传时间:2022-02-24 格式:PPTX 页数:32 大小:2.46MB
返回 下载 相关 举报
通用模板课件 Sina JPool微博平台自动化运维实践PPT_第1页
第1页 / 共32页
通用模板课件 Sina JPool微博平台自动化运维实践PPT_第2页
第2页 / 共32页
通用模板课件 Sina JPool微博平台自动化运维实践PPT_第3页
第3页 / 共32页
点击查看更多>>
资源描述
Sina JPool微博平台自动化运维实践目录 CONTENT12431.微博平台业务背景百T+万亿+600亿+53%5min15次/w3000+200+50+99.99%150ms2/季 8亿8千万1.75亿2.纵观自动化运维发展概况自动化运维发展概况阶段1阶段2阶段3阶段4原始阶段 工具系统综合运维平台云计算&智能运维变更脚本化运维标准化工具Web化运维精细化工具平台化数据API化运维服务化智能化运维DevOPS*aaS目录 CONTENT124311.Sina Dispatch介绍l什么是Sina Dispatch?u 通用化的Shell调度与任务调度u 2012年新浪内部自研u 基于C+及Cwinux通信架构库开发u 主要组件:dispatch,agent,MySQLu 消息协议:PB(ProtoBuf)lDispatch主要特性u 丰富的API:控制操作接口化u 高可用:Master-Slave部署方式u 高性能:支持万台服务器的并发调度u 安全性强:MD5值校验,特殊字符过滤2.Dispatch 调度设计lShell调度u 变量:内置Shell变量 + 自定义变量u 安全:MD5值签名,密码保护u 策略:可设置超时时间u 其他:同时并发执行,输出实时回显l任务调度u 变量:内置任务变量 + 自定义变量u 安全:MD5值签名,签名错误拒绝执行u 策略:并发数控制,最大比例控制,超时控制u 输出:stdout , stderr实时回显u 脚本:支持Shell,Python,PHP等脚本语言u 状态:执行中,超时,失败,完成u 操作:启动,暂停,取消,重做,完成,回滚3.Dispatch 架构dispatch主线程admin线程任务处理线程agent服务器集群与agent连接的通信协议层及通信线程agentagent主动连接主动连接通知master变化检测谁是masterShell消息通知获取shell指令定义获取新任务更新任务执行态发送任务接收消息 接收消息 发送shell 指令 配置数据库主线程指令流:agent上报Shell调度任务调度4.Agent 架构masterdispatch通信层主动连接主动连接指令流:agent上报Shell调度任务调度slaveslaveagentShell处理操作队列Vfork 执行shellapp pool1 Task队列Vfork执行任务Vfork任务处理app pool2 Task队列执行任务轮询结果push任务push任务轮询结果接收任务结果结果shell任务接收shell轮询结果pushshellExecshellExec任务Exec任务主动连接任务调度Shell调度Shell调度Shell调度目录 CONTENT1243311.One host的生命周期Text in hereText in hereStep1 机器初始化 - 设备录入资源池(资源管理) - 一键初始化(配置管理)Step2 服务部署 - 环境部署 - 监控部署 - 服务部署(代码 & confs)Step3 运维变更 - 系统变更,代码发布 - 服务迁移(动态扩容)Step4 自动报修&下架 - 服务自动上下线 - 机器置换或下架业务业务运维可控运维可控上架装机Title in here服务部署新机器初始化Title in here分配给业务改管理员CMDBTitle in here运维变更Title in here自动报修Title in here过期下架2.1 Sina JPool简介DispatchPuppet Masteragent服务器集群puppetagent puppetWebAPPCLIAPIl什么是Sina Jpool?u 通用化集群管控平台u 核心模块用户&权限资源管理设备管理APP管理配置管理部署管理任务管理Nginx变更管理降级/封杀管理日志查询平台公司级CMDB配置数据库资源管理关联系统API设备管理APP集群管理配置管理服务部署任务管理Shell管理Nginx管理降级封杀监控管理dispatchpuppet master 用户&权限&审计流程&灰度发布工单管理问题管理运维变更窗口2.2 JPool技术框架l平台核心需求:DB化u 设备信息-唯一性配置管理系统监控。u 应用信息-多对多应用&发布部署降级&封杀Nginx变更。u 关联关系3.1 JPool-资源管理设备池设备列表1:n应用应用池1:n设备应用设备1:n应用1:n 设计复杂,实现简单,可用性强 案例:Sina Jpool,BaiDu Noah基于严谨的带层级的关联关系 设计简单,实现复杂,灵活多变,可扩展性强 案例:小米,Jpool2基于tag形式的关系 复杂的关联结构模型 案例:Amazon混合型业界实践3.2 JPool-资源管理关系图应用管理设备管理产品APPAPPAPPAPP_PoolAPP_PoolAPP_PoolN 个设备设备池子NodeNodeNode导入基于网络拓扑,设备类型JPool应用服务拓扑基础配置拓扑配置管理NodeNodeNodeNodeShell操作操作脚本文件任务(子任务)任务模板任务历史任务并发&回显比例并行执行状态任务操作实时回显任务脚本4.1 Jpool-配置管理需求l hostnamel hostsl sudol repol scriptsl sysctll nrpel sys_initl all agent 基础配置l routel resolverl dnsmasq机房相关l crontabl rsyncl scribel service_confsl name_pooll logtailer业务相关4.2 基于Puppet的实践-install |-puppet.conf: 配置文件 |-fileserver.conf: file server的配置文件 |-auth.conf: 权限的配置文件 |-files: puppet的文件目录 | |-module1 | | |-池子1 | | | |-各个资源文件的各个版本 | | |-池子2 | |-module2 |-manifests: 节点定义目录 | |-variable 池子的变量目录 | | |-池子1n | | | |-pool_env 池子参数目录 | | | |-池子的参数文件,存在多个版本。 | | | |-pool_module_env | | | |-池子加载的各个modlue的参数文件,存在多个版本。 | |-nodes 节点目录 | | |-池子1n | | | |-池子下的服务器 |-modules: 模块定义目录 | |-module的参数化class,一个module存在多个版本的文件 |-test: 测试目录l 源码目录规划:线上实践4.3 Puppet DB化可视化操作界面l配置修改范围u 变量 公共变量 module变量 池子变量u moduleu 节点与池l版本化管理u 版本 变量 moduleu 快照:池4.4 Puppet配置DB化架构Puppet 模块UIJPool配置管理库1.Puppet配置修改2.配置入库3.应用配置SVN服务器Puppet Master1NginxPuppet clientPuppet clientPuppet clientPuppet Master24.提交SVN5.修改状态7.配置同步7.配置同步7.配置同步6.定时拉取Backup(配置同步)8.转发请求5.1 JPool-任务管理l任务设计u 通用的脚本自动执行平台u 安全,可靠,可视u 任务变量:内置变量 + 自定义变量任务脚本变量 = app变量+ app_pool变量+ 任务变量+u 任务类型&任务模板l线上某服务代码发布Java服务代码发布Tag输入任务创建变量Init判断应用server判断Tag类型增量下载Tag切走流量 停服务拷贝代码切回流量代码上线逻辑处理输出日志检测服务检测启动服务实时任务状态完成5.2 Jpool-任务状态监控tag部署路径任务状态超时时间步长&比例APP_Pool列表状态分布任务实时回显6.1 Jpool-Nginx变更管理l 变更需求u 参数调整u member修改u 规则修改l 配置拆分 : includeNginx.confupstreampool1pool2vhostserver1server2Nginx变更窗口示例6.2 Nginx变更流程Nginx 模块UI本地文件配置管理库1.Nginx修改2.拉取池信息SVN服务器dispatchNginx5.任务下发5.任务下发5.任务下发NginxNginx3.提交4.创建下发任务Nginx配置变更l 主要特性u 配置文件diffu 下发版本校验u 审批工作流u 记录查询u API化l 下发控制u 一键发布u 灰度发布配置修改应用变更7. Jpool-降级封杀管理l 降级封杀:5000+开关u原则:覆盖全,开关避免手输u方案:业务代码框架层实现动态修改运行时变量值前端监听端口,支持check/on/off集成JPool降级封杀窗口8. 自动化变更服务降级/封禁流量切换 JPool限流Docker机动池数据修复日常其他变更策略变更手段扩容/缩容依赖系统依赖系统分工&职责&流程工单系统&量化KPIchecklist & Double check区分四种环境灰度发布代码部署Puppet/Nginx变更目录 CONTENT1213141. 双实例Cgroup隔离方案lCgroup优化u硬件配置 2CPU-12核 Mem:12Gu隔离方案 CPU分组 内存分组 lUMA vs NUMA2.Docker单机部署方案statsdLogs1Nginx打镜像scribecadvisorELK日志中心HOST(10.75.0.2)Jenkins8080APP18081APP2Logs2流量调度容器监控行为日志业务日志-v-v-link-link-host-host容器存储卷系统工具3.Docker集群部署l部署原则u 发布代码一样发布镜像u 部署时间成本:分钟级u 快速流量转移l部署明细:5分钟u 设备录入及迁移u 前端镜像发布u Nginx变更新设备迁移设备CM系统Jpool资源池简易服务发现upstream生成&提交dispatch新扩容快速扩容服务同步ip:portAPIAPINginx变更镜像发布4.JPool2-Paas平台快速扩容Networking toolsRPCAPPNginxMqProcessMCRedisMySQLService(ip:port)RPCNginxWserfConsulDispatchJPool Graphite & ELKCadvisor&Logstash监控编排负载调度服务发现JPool2JenkinsCICD Gitlab Registry HubDEVTEST基础设施5.平台Docker化进展l部署进度u 前端Docker化比率:53%u 实例数:1000+l春晚大考u 10次动态扩容u 节点迁移数:200+u 单次操作时间:5分钟业务部署范围InfoQinfoqchina
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!