《2017年微服务架构的应用性能监控.pdf》由会员分享,可在线阅读,更多相关《2017年微服务架构的应用性能监控.pdf(32页珍藏版)》请在三个皮匠报告上搜索。
1、微服务架构的应用性能监控TINGYUN.COM目录Why micro services?微服务架构下的应用性能监控听云微服务化及监控复杂调用链性能监控及追踪TINGYUN.COMWhy Micro Services?从单体到微服务 服务及数据体量的爆炸性增长 分布式环境下单体架构的问题 中央集权 vs 领域自治 单体架构适用于中小型产品前期快速迭代验证TINGYUN.COMWhy Micro Services?微服务架构的优势 低耦内聚 轻量,快速迭代,CI/CD更简单 更可靠 容易监控,发现/定位问题更快捷?TINGYUN.COMWhy Micro Services?微服务架构的几种打开姿势
2、 按业务垂直拆分 按模块水平拆分 垂直+水平拆分TINGYUN.COMWhy micro services?微服务架构下的应用性能监控听云微服务化及监控复杂调用链性能监控及追踪TINGYUN.COM复杂微服务架构面临的问题 服务器体量激增,部署和管理问题 调用链复杂 监控复杂度大大增加,如何快速发现/定位问题?微服务架构下的应用监控TINGYUN.COM微服务架构下的应用监控复杂微服务架构下的应用监控性能监控优先 以听云Server为代表 关注性能及慢事务追踪 轻量,自动嵌码探针,SaaS,开箱即用 内置Http/dubbo/thrift等支持事务/调用链追踪优先 点评Cat,Zipkin(开
3、源)关注Tracing,全量或采样 较重,需埋点或开发插件,采集日志量大vsTINGYUN.COMWhy micro services?微服务架构下的应用性能监控听云微服务化及监控复杂调用链性能监控及追踪TINGYUN.COM听云的微服务化历程dc-app听云App探针听云Server探针听云Browser探针SLBdc-serverdc-browser账号&配置库Redis-cluster数据采集存储层Metric data库(分片集群)ES报表UIOpen API警报NBFS非结构化存储听云后端架构1.0Kafka-clusterTINGYUN.COM 1.0单体架构面临的问题 组件依赖多
4、,迭代效率低下升级=开发*1d+功能测试*1d+回归*3d+部署*1h 核心组件升级周期长 单一配置库,DB问题影响多个系统,排查困难听云的微服务化历程TINGYUN.COM单体-微服务架构:核心组件微服务化:nbfs/IP Location/Metric service配置库按业务线垂直拆分账号及全局配置库:conf_global业务线配置库:conf_app/conf_svr/conf_brs等听云警报服务配置库:conf_alarm*跨业务线查询通过API接口调用 核心微服务按业务线资源隔离 日志统一入EFK听云的微服务化历程TINGYUN.COMdc-app听云App探针听云Serve
5、r探针听云Browser探针SLBdc-serverdc-browserRedis-cluster存储层Metric data库(分片集群)ES听云后端架构2.0Kafka-clusterApp配置库Server配置库Browser配置库账号及全局配置库NBF服务IPLocation服务Geocoding服务Metric服务服务层数据采集听云的微服务化历程TINGYUN.COM 微服务化后的效果:核心组件独立为原子服务,升级对应用几乎0影响 监控由面向应用调整为面向服务,粒度更细 配置库按业务线拆分,不同业务线数据库资源隔离 可靠性高,核心组件对应用的性能影响更透明听云的微服务化历程TINGY
6、UN.COM听云NBFS服务简介:功能:非结构化数据存储(类似于TFS或S3的功能)场景:1.海量小对象存储(80%4KB)2.写多读少,写入延时要求高听云的微服务化历程TINGYUN.COMS3/Ufile/OSS(可插拔)nbfs-worknode-1应用层dubbonbfs-worknode-2Nbfs-worknode-N服务层听云NBFS服务化架构zookeeperLocal storageLocal storageLocal storage云存储层Sync听云的微服务化历程TINGYUN.COM整体思路:性能监控优先 仅监控可能有性能瓶颈的事务及调用链 性能问题代码级定位听云微服务
7、架构的应用性能监控TINGYUN.COM 关注指标:API响应时长 吞吐率 网络层耗时(TODO)API响应耗时分解 API调用排队时长(框架相关,例如dubbo,TODO)慢请求堆栈及调用链听云微服务架构的应用性能监控TINGYUN.COM 监控工具:cAdvisor(docker)Heapster(k8s)听云Server(应用层)听云微服务架构的应用性能监控TINGYUN.COM自动发现应用拓扑听云微服务架构的应用性能监控TINGYUN.COMClient端服务调用监控听云微服务架构的应用性能监控TINGYUN.COM服务端监控听云微服务架构的应用性能监控TINGYUN.COM案例分享:
8、业务高峰NBFS偶发性响应耗时突增,持续几秒几分钟听云微服务架构的应用性能监控TINGYUN.COM周期性尖刺,平均:5.007ms,最大:8129msAsynchronousFileChannel.open:调用:4次平均:51ms听云微服务架构的应用性能监控TINGYUN.COM慢事务追踪java.nio.channels.AsynchronousFileChannel/openAsynchronousFileChannel.open听云微服务架构的应用性能监控TINGYUN.COMWhy micro services?微服务架构下的应用性能监控听云微服务化及监控复杂调用链性能监控及追踪T
9、INGYUN.COM复杂调用链拓扑听云微服务架构的应用性能监控TINGYUN.COMorg.apache.http.impl.client.CloseableHttpClient.executeClosableHttpClient/execute:50.539s,99.98%CloseableHttpClient.execute:50539ms,99.98%xxx.ExtSpiderCenterController.java:291复杂调用链的应用性能监控TINGYUN.COMCloseableHttpClient.execute:50064ms,99.06%2级API:http:/ OR 事务/调用链优先?前者实现代价低的多,可满足大部分业务系统的监控需求小结代码级定位是必不可少的,可有效缩短MTTRTHANK YOU