`
nepxion
  • 浏览: 37930 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

(十) Nepxion-Thunder分布式RPC集成框架 - 监控中心

阅读更多

Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/

 

通过MonitorStat.java去刻画监控的属性,包括

    private String traceId;        // 跟踪ID
    private String messageId;      // 消息ID
    private String messageType;    // 消息类型,取值:Request,Response
    private String fromCluster;    // 消息来源的集群
    private String fromUrl;        // 消息来源的Url
    private String toCluster;      // 消息发往的集群
    private String toUrl;          // 消息发往的Url
    private long processStartTime; // 调用的业务处理起始时间   
    private long processEndTime;   // 调用的业务处理结束时间      
    private long deliverStartTime; // 调用的网络传输起始时间      
    private long deliverEndTime;   // 调用的网络传输结束时间
    private String interfaze;      // 接口名
    private String method;         // 方法名
    private String parameterTypes; // 方法参数,例如java.lang.String,int
    private String protocol;       // 协议,例如netty, hessian等
    private String application;    // 应用名
    private String group;          // 组名
    private boolean async;         // 是否是异步或者同步
    private String callback;       // 回调接口名称         
    private long timeout;          // 超时时间
    private boolean broadcast;     // 是否是广播模式
    private String loadBalance;    // 采用的负载均衡策略
    private boolean feedback;      // 消息是否需要回馈
    private String exception;      // 异常信息
 无论通过哪种方式监控,都可以拿到封装好的上述属性列表

 

1. 日志监控

通过Log4j的配置,把本地基于MonitorStat对象创建的Log生成到远端Splunk服务器硬盘上,Splunk服务器进行相关设置和过滤,就可以看到如上的日志统计。对于Splunk如何使用和工作,在这里就不做介绍了

 

2. Redis缓存监控

以TraceId为Key,MonitorStat的Json字符串为Value存入Redis缓存。所有分布式的服务方和调用方必须全部接入该Redis服务器(Redis服务器部署方式一般有三种,集群模式,哨兵模式,分片模式,在Thunder里面必须部署成哨兵模式或者集群模式,前者同时支持发布/订阅和做数据缓存用,后者支持数据缓存用)

 

3. 第三方WebService监控

每一个第三方WebService监控中心启动的时候,都往注册中心添加其URL,服务端和调用端通过连接注册中心,获取第三方监控中心的URL列表,同时也实现了对监控中心上下线的监听,达到分布式监控的目的。
服务端和调用端通过Apache 异步Http发送方式,把MonitorStat转化成Json字符串,用Post方式发往第三方监控中心

  • 大小: 109 KB
5
2
分享到:
评论

相关推荐

    基于Java的Thunder分布式RPC框架设计源码

    Nepxion Thunder是一个基于Java的分布式RPC框架,集成了Netty、Hessian、Kafka、ActiveMQ、Tibco、Zookeeper、Redis、Spring Web MVC、Spring Boot和Docker等技术。它支持多协议、多组件和多序列化,为开发者提供了...

    协程式驱动框架Nepxion-Coroutine.zip

    Coroutine是基于Kilim/Promise JDeferred的协程式驱动框架,基于Apache Zookeeper的分布式规则存储和动态规则变更通知。 主要特性: 1. 基于微服务框架理念设计 2. 支持同步/异步调用 3. 支持串行/并行调用 4....

    Thunder::high_voltage: Nepxion Thunder is a distribution RPC framework based on Netty + Hessian + Kafka + ActiveMQ + Tibco + Zookeeper + Redis + Spring Web MVC + Spring Boot + Docker 多协议、多组件、多序列化的分布式RPC调用框架

    Nepxion Thunder是一款基于Netty + Hessian + Kafka + ActiveMQ + Tibco + Zookeeper(Curator Framework) + Redis + FST + Spring + Spring Web MVC + Spring Boot + Docker分布式RPC调用框架。架构思想主要是来自...

    yinheli/docker-thunder-xware:latest 镜像打包下载

    yinheli/docker-thunder-xware:latest 镜像打包下载 群晖 NAS DSM 系统,只要三步使用 Docker 安装迅雷远程下载

    Go-Thunder⚡️一个Go框架用于快速构建强大的graphql服务

    在压缩包"thunder-master"中,包含了Thunder框架的源码和其他相关资源。开发者可以通过查看源码,了解其内部实现原理,也可以直接使用它来快速搭建自己的GraphQL服务。在实际开发过程中,结合Go语言的标准库和第三方...

    wine-thunder_0.6-2_all.deb

    wine-thunder_0.6-2_all.deb用于在linux系统下,使用wine直接按装的迅雷软件,实现高速下载,在ubunut,fedora等linux版本中,实现直接点击安装

    开源项目-omeid-thunder.zip

    "thunder-master"这个压缩包子文件名可能代表项目的主分支或主代码库,这在Git等版本控制系统中很常见,"master"通常指的是默认分支,存放着项目的最新稳定版本。解压后,用户可以访问到项目的源代码、文档、构建...

    Go-Thunder是BoltDB的交互式Shell

    Go-Thunder是一个基于BoltDB数据库的交互式Shell工具,主要设计用于方便地与BoltDB数据库进行交互,提供了一种命令行界面来操作和管理数据。BoltDB本身是Go语言实现的一个轻量级、文件存储的键值对数据库,它以其...

    A10-Thunder_1030S方案白皮书.pdf

    A10-Thunder_1030S方案白皮书.pdf

    home-work-thunder

    【压缩包子文件的文件名称列表】"thunder-oms" 这个文件名可能代表“Thunder Operation Management System”(迅雷运营管理系统),或者是一种特定的模块或服务。它可能包含了项目的源代码、配置文件、测试脚本等,...

    系统工具-文件下载-thunder_3.4.0.4338.zip

    标题中的“系统工具-文件下载-thunder_3.4.0.4338.zip”表明这是一款系统工具,具体来说是与文件下载相关的。这里的“thunder”很可能指的是迅雷,一个在中国广为人知的下载管理软件。版本号“3.4.0.4338”指示这是...

    A10-Thunder_6430S方案白皮书.pdf

    A10-Thunder_6430S方案白皮书.pdf

    开源项目-muesli-thunder.zip

    在使用Thunder时,用户应首先下载并解压“muesli-thunder.zip”文件,得到“thunder-master”目录。然后按照项目提供的安装指南编译并安装Thunder,最后通过命令行启动Thunder,开始探索和操作BoltDB数据库。对于...

    A10-Thunder_930方案白皮书.pdf

    A10 Thunder 930方案白皮书 A10 Thunder 930是A10 Networks公司推出的统一应用服务网关(UASG),采用64位系统、1U硬件,提供了极具性价比的解决方案。该设备基于A10极具扩展性的灵活高级核心操作系统(ACOS)架构...

    3D-Thunder-Lightning.zip

    3D-Thunder-Lightning.zip,受航母指令启发的开源未来动作飞行模拟器游戏,3D建模使用专门的软件来创建物理对象的数字模型。它是3D计算机图形的一个方面,用于视频游戏,3D打印和VR,以及其他应用程序。

    A10-Thunder-5430S方案白皮书

    文档可能还涵盖了设备的硬件规格、性能指标、管理和监控工具,以及与其他A10产品或第三方系统的集成方法。 通过阅读这份白皮书,IT专业人员可以深入了解如何利用Thunder 5430S来构建和维护高性能、高可用性的数据...

    系统工具-文件下载-Thunderbird91.0b4.zip

    Thunderbird是一款由Mozilla基金会开发的开源邮件客户端,它集成了电子邮件、新闻组、RSS阅读器和日历功能,为用户提供了一站式的通信解决方案。Thunderbird91.0b4是该软件的一个版本,其中“91.0b4”表示的是版本号...

    Android代码-Thunder

    Thunder Android OkHttp util package let response callback at MainThread(UIThread), also it‘s lifecycle safety. ⚠️ Thunder‘s code is based on SugarTask(Very nice code

    A10-Thunder_5430S方案白皮书.pdf

    A10 Thunder 5430S是一款专为高效能应用交付而设计的1U设备,集成了一系列先进的云服务解决方案,旨在提供统一的应用服务网关功能。这款设备的核心是A10的高级核心操作系统(ACOS),具备高度可扩展性和灵活性。通过...

    live-transit-thunder-bay:Thunder Bay 实时 GTFS 数据馈送的 JSON 代理

    实时过境雷湾 ... 运行npm install live-transit-thunder-bay --save 使用 API: var liveTransit = require ( 'live-transit-thunder-bay' ) ; liveTransit . start ( ) ; 运行node index.js 。 Expres

Global site tag (gtag.js) - Google Analytics