Pinpoint源码解析(四)

本节主要分析pinpoint-collect的源码。

1、项目结构

采用Spring MVC构架,所以入口在web.xml,web中主要引入了applicationContext-collector.xml和servlet-context.xml文件。

servlet-context.xml中主要定义了spring中相关内容,包括扫描control类,jsp视图,以及拦截器等。

applicationContext-collector.xml是collector的重点,包括加载属性文件,hbase配置文件,以及相关的一些bean。

这些bean中非常重要的一个bean就是serverAcceptor,主要作用是定义管理Thrift传输的服务端,

他是由类PinpointServerAcceptor定义的,PinpointServerAcceptor的构造函数中主要是

ServerBootstrap bootstrap = createBootStrap(1,WORKER_COUNT);

setOptions(bootstrap);

addPipeline(bootstrap);

这三句,createBootStrap中定义了boss和worker线程池,addPipeline是将handler添加到管道中,这个handler 主要是由nettyChannelHandler定义的,nettyChannelHandler是由

PinpointServerChannelHandler nettyChannelHandler =new PinpointServerChannelHandler();

初始化的,在PinpointServerChannelHandler类中,定义了channelConnected,channelDisconnected,channelClosed和messageReceived方法,
messageReceived方法根据packetType来处理包,有的存入Hbase数据库,有的产生response返回Agent。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,937评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,958评论 6 342
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 3,835评论 0 11