rpc性能分析
Cumu_
这个作者很懒,什么都没留下…
展开
-
从零到日志采集索引可视化、监控报警、rpc trace跟踪-架构介绍
接下去的几篇博客将介绍如何从零开发出一套集零侵入的日志采集、日志索引及可视化、基于日志监控报警、基于日志rpc trace跟踪进行系统性能分析的系统,之后都会称为监控中心系统。经测试,该系统的采集以及处理延迟在2秒以内,基本上做到了实时,其中日志采集模块在3台pc机器上测试下来大概每秒能够索引2.5w左右的日志,并且能够随着机器的增加性能水平扩展,每秒能够有效得处理50w+条的日志。本篇作为第原创 2017-01-18 10:37:11 · 7320 阅读 · 1 评论 -
从零到日志采集索引可视化、监控报警、rpc trace跟踪-系统上下线监控
之前说到注册中心的设计,zookeeper中的节点部署如下:kafkaAppender初始化向zk进行app节点注册,并写入相关的信息kafkaAppender发生异常暂停工作会向app节点写入相关信息,以便监控系统能够实时感知并发送报警app正常或者异常退出后,zk中的app临时节点会消失,shutdownhook会正常运行,监控系统能够实时感知并发送报警(这里就需要我们在自定义的log原创 2017-02-16 15:49:22 · 2222 阅读 · 4 评论 -
从零到日志采集索引可视化、监控报警、rpc trace跟踪-日志索引
之前说到日志事件的设计、如何埋点以及基于jvm的程序如何对接我们的系统,接下去我们说下日志如何进行索引。通过前三篇博客可以知道数据通过LOGGER.info等打印日志的函数就可以存入kafka,所以我们对日志建立索引只需要实时读kafka写入es,为了提高实时索引的速率,我们会部署3个实例实时消费kafka的9个partition,并且使用es的bulk load api,这样测试下来大概3台原创 2017-02-07 10:00:30 · 1803 阅读 · 2 评论 -
从零到日志采集索引可视化、监控报警、rpc trace跟踪-日志事件、埋点设计及对接
日志事件设计为了处理不同事件类型的日志,我们将不同业务含义的日志抽象成了日志事件,具体如下:public enum EventType { normal(Constants.EVENT_TYPE_NORMAL, "正常入库日志"), invoke_interface(Constants.EVENT_TYPE_INVOKE_INTERFACE, "api调用"),原创 2017-01-20 09:47:27 · 3344 阅读 · 2 评论 -
基于docker compose的应用服务部署
接上文介绍docker的编排工具来部署,这里采用原生的compose方式,以后再介绍k8s如何做。本文介绍的例子为:https://github.com/JThink/SkyEye,4个服务提供了一组完整的应用。直接上docker-compose.ymlversion: '3'services: skyeye-alarm: image: 192.168.xx.xx:5000/xxx/sky原创 2017-04-24 15:50:44 · 1302 阅读 · 4 评论 -
从零到日志采集索引可视化、监控报警、rpc trace跟踪-分布式唯一ID生成
在平时的工作中如果将数据库进行了分库分表,那么肯定需要分布式唯一ID的生成策略。rpc trace跟踪模块也需要一个分布式唯一ID的生成器,本文介绍基于snowflake改造的分布式唯一ID生成策略。根据snowflake的算法,做了些许改变,唯一ID是一个int64的值,第一位占位,接下来40位为毫秒级的时间,接下来13位(支持8192个)为app和host组合的分配的值(即在N个服务器上每个服原创 2017-04-26 09:46:47 · 3646 阅读 · 3 评论