微服务架构在腾讯系业务的实践_第1页
微服务架构在腾讯系业务的实践_第2页
微服务架构在腾讯系业务的实践_第3页
微服务架构在腾讯系业务的实践_第4页
微服务架构在腾讯系业务的实践_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、自我介绍钟科(joeyzhong)十多年的互联网工作经验,主要负责腾讯移动互联网事业群的基础框架平台的建设专注于微服务架构体系,云平台,分布式Nosql存储等技术领域。微服务架构(TAF)在腾讯系业务的实践内生外长,从封闭到开放转变之路什么是微服务小服务,功能单一轻量级的通信机制独立进程,独立部署松耦合Micro Service01020304什么是微服务Micro Service快速迭代,加快应用交付腾讯海量服务之道理念Tencent030201价值观方法论手段云中生长有损服务大系统云做柔性可用SET模型全网调度系统容灾负载均衡过载保护立体监控灰度发布自动部署微服务架构 - TAFTAFTe

2、ncent Application Framework十年1.6万+ 服务器 100+ 业务2万+ 服务 6万+ 进程未来路在何方?未来腾讯某投资公司快速发展遭遇的架构瓶颈AppWeb(PC/H5)终端逻辑层(C#)Web逻辑层(PHP/C#)访问层(C#)Oracle存储过程MongoDB服务器 900DAU 20+%/月 逻辑集中,可伸缩性差,可靠性差代码重复率高,研发成本大大量存储过程带来严重质量问题.Net架构不适应业务海量访问发展趋势 微服务架构从一个事故看问题合作商后台统一接入服务结果汇总服务逻辑A逻辑B逻辑C节点1节点2节点n数据服务数据服务节点n因为机器故障,造成整体服务雪崩3

3、个小时后恢复合作商将流量切换竞争对手后台微服务框架核心能力 轻量级通讯框架平台无关,接口服务向前兼容性高性能业务快速开发01OPTION 高可用注册发现&负载均衡容错(熔断/隔离)过载保护服务降级无损变更02OPTION持续集成/交付代码集成环境标准自动测试交付,发布部署03OPTION 运营故障发现、定位和自愈配置变更日志查询服务日常管理04OPTION轻量级通信框架选型RPC消息队列IDLRestfulHessian通信模型API协议易用性兼容性高性能多语言01OPTION02OPTION03OPTION04OPTIONIDL协议RPC通信异步架构多语言通信如调用本地APITCP/UDP对

4、业务透明IDL协议为默认协议兼容其他第三方协议EPOLL ET 异步服务框架 易用的异步调用封装C/C+、Java、Nodejs高性能可扩展的自研IDL协议struct UserInfo 1 require int age; 2 require char sex; 3 optional string company; 4 optional vector hobby;interface User int getUserInfo( int uid, out UserInfo info);客户端服务端Jce 文件接口代码自动生成,实现业务快速开发 class UserProxy int getUse

5、rInfo(int uid,UserInfo &info, ); promise:Future promise_async_getUserInfo(int uid, ); ; class UserServant virtual int32 getUserInfo(int32 uid, UserInfo &info, taf:JceCurrentPtr current) = 0; ; 扩展/兼容性好 支持vector/map,并可任意嵌套 高性能,比protocal buffer 更快 支持c/c+、java、nodejs、php轻量级通信框架 异步易用多种异步封装,调用全链路异步 Promis

6、e/FutureFuture f1 = async_get1();Future f2 = f1.then(bind(&hand1_And_async_get2);f2.then(bind(&handN); 协程coro_get1();coro_get2();coroWhenAll();UserABCDC单点故障造成延时波动,就可能影响整体调用链故障乃至雪崩微服务框架核心能力 轻量级通讯框架语言无关,接口服务向前兼容性高性能业务快速开发01OPTION 高可用注册发现&负载均衡容错(熔断/隔离)过载保护服务降级无损变更02OPTION持续集成/交付代码集成环境标准自动测试交付,发布部署03OPT

7、ION 运营故障发现、定位和自愈配置集中日志集中服务日常管理04OPTION高可用 - 名字服务与通信框架透明融合clientGetAddr(“petsvr”);petsvragentkeep alivereport statuspetsvragentKeep alive report status应用级透明实现服务发现、容错、过载保护、无损变更等能力名字服务弱依赖快速发现新增服务节点连续超时次数n次超时比率x%NameSvr高可用 - 透明集成0102030504服务自动发现故障自动熔断多种负载均衡过载保护无损变更10秒内服务发现 秒级自动熔断故障节点 轮询、随机,hash、静态权重、动态权

8、重自动丢弃无效请求,防止雪崩 、故障影响隔离贯穿整个运营生命周期,所有变更环节可实现现用户访问无丢失微服务框架核心能力 轻量级通讯框架语言无关,接口服务向前兼容性高性能业务快速开发01OPTION 高可用注册发现&负载均衡容错(熔断/隔离)过载保护服务降级无损变更02OPTION持续集成/交付代码集成环境标准自动测试交付,发布部署03OPTION 运营故障发现、定位和自愈配置集中日志集中服务日常管理04OPTION持续集成/交付的挑战环境异构造成交付失败基础环境OS、GCC、SDKs(Java、PHP等)运行环境Apache、Nginx、Tomcat、Resin依赖环境so、jar运行包异构造

9、成部署复杂 执行文件 目录如何提高部署效率如何提升资源利用率Docker - 变革性的交付部署技术标准统一的打包/部署/运行方案支持分层发布提供进程级别的隔离方案快速启动,秒级性能损耗小持续集成/交付具体实现CI服务CD服务天津深圳上海svn镜像仓库P2P资源分配agent容器容器DMake业务基础镜像制作标准化交付,保证交付质量部署效率提高,平均一分钟设备管理容器化,资源利用提升2万容器微服务框架核心能力 轻量级通讯框架语言无关,接口服务向前兼容性高性能业务快速开发01OPTION 高可用注册发现&负载均衡容错(熔断/隔离)过载保护服务降级无损变更02OPTION持续集成/交付代码集成环境标

10、准自动测试交付,发布部署03OPTION 运营故障发现、定位和自愈配置集中日志集中服务日常管理04OPTION平台解决整体运维问题名字服务1名字服务2名字服务NWebServer1Server2ServerNagentServer1Server2ServerNagent名字服务(热备)运维管理平台服务节点业务服务5354配置服务日志服务监控服务快速故障发现与定位UserABCDC服务质量数据采集日志远程汇总 日志染色采样分析调用链实时上报,秒级展示,分钟级告警调用链分析快速定位真正故障点日志自动远程汇总,并入库hbase,集中快速查询指定用户全链路调用日志集中,快速定位问题运营全web化自动调

11、度提升整体运营效率MIG资源池agentDocker 1Docker nagentDocker 1Docker n公司资源池生产环境资源申请交付验证系统TGW发布系统流程系统预/后处理LB外网代理CMDB插件工具一键化操作内核/OS平滑升级机房裁撤判决系统服务选择资源选择CPUMEMETH1IO模调数据基础数据调度系统自动回收自动申领数据上报被动触发流程操作自动化运维自动调度调度选择主动巡检外部系统自动调度效果每月机器故障流程160每月自动调度1600次平均1分钟完成自动调度平均2分钟发现故障CPU日均利用率从20%提升至25%应用级透明的框架设计应用级透明的框架设计使业务快速实现微服务改造最终实现AppWeb(PC/H5)Tcp 接入Nginx统一用户tdsqlRedis四层接入(TGW)TSF(PHP)统一支付书架书籍月票订阅打赏红包TFSDCache接入层逻辑层TAF存储层用分布式mysql和分布式的Cache/文件存储构造存储层统一接入,收敛ip,提升接入性能和容错能力异步协程模式的PHP架构和TAF对接业务逻辑提炼到逻辑层,按功能分拆成服务架构优化 服务发现AgentNameSvrPHPGetAddr(“petsvr”);petsvragentkeep alivereport statuspetsvragen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论