Gobrs-Async Gobrs-Async
🚘首页
🧧指南
🍭FAQ
💖支持
🚨加入群聊
🍅GitEE (opens new window)
GitHub (opens new window)
🚘首页
🧧指南
🍭FAQ
💖支持
🚨加入群聊
🍅GitEE (opens new window)
GitHub (opens new window)
  • 🥪项目特性

    • 🍿框架设计
  • 🎒框架设计

    • 🥧简介
    • 🍿框架设计
    • 🍍框架落地
  • 🍖快速开始

    • 🍔快速上手
    • 🌭框架集成
    • 🥤启动流程
    • 🍪流程参数
    • 🏝流程结果
  • 🥘规则配置

    • 🍅规则配置
  • 🥊任务类型

    • 🍅普通任务
    • 💥重试任务
    • ☄️事务任务
    • 🌈超时任务
    • ⛱方法任务
  • 🔥高级特性

    • 💐线程复用
    • 🧋运行日志
    • 🍜规则热更新
    • 🍑任务中断
    • 🌺可选子流程
    • 🌹状态流程
    • 🍒异常拦截
    • 🥪全局任务拦截
    • 🍏自定义线程池
    • 🍒可选的执行流程
  • 🚐插件

    • 🛻插件简介
    • 🏚监控系列

      • ⛽️skywalkiing
      • 🏖hippo4j
        • Hippo4j 线程池监控
        • 使用方式
          • pom.xml 依赖引入
          • 配置集成
    • 🛸日志系列

      • 🚧全链路traceId
  • 🍿性能考量

    • 🍎框架压测
    • 🍹框架对比
    • 🧅版本号手册
  • 🌕展望

    • 🍊展望
  • 🍯联系作者

    • 🥐加群沟通
目录

🏖hippo4j

# Hippo4j 线程池监控

Hippo4j (opens new window) 是一款动态线程池监控框架, Gobrs-Async 作为插件的方式引入,开发者可以无感知的对 Gobrs-Async 启动的线程池进行监控。配置线程池监控工具来查看运行时线程池工作状态,会让你在多线程开发过程中更加得心应手!

# 使用方式

# pom.xml 依赖引入

<dependency>
    <groupId>io.github.memorydoc</groupId>
    <artifactId>gobrs-async-hippo4j-plugin</artifactId>
    <version>1.3.0-RELEASE</version>
</dependency>

# 配置集成

插件保留Hippo4j的原始配置,如果对Hippo4j配置方式不了解的小伙伴可以查看官网了解详情。

提示

Hippo4j Server端需要开发者自行部署哦!参照文档 (opens new window)

spring:
  dynamic:
    thread-pool:
      # 是否开启动态线程池
      enable: true
      # 是否打印 banner
      banner: true
      # 是否开启线程池数据采集,对接 Micrometer、ES、Log 等
      collect: true
      # 检查线程池状态,是否达到报警条件,单位毫秒
      check-state-interval: 3000
      # 通知报警平台,请替换为自己创建的群机器人
      notify-platforms:
        - platform: 'WECHAT'
          token: xxx
        - platform: 'DING'
          token: xxx
          secret: xxx  # 加签专属
        - platform: 'LARK'
          token: xxx
      # Nacos、Apollo、Zookeeper、ETCD、Polaris 任选其一
      nacos:
        data-id: xxx
        group: xxx
      apollo:
        namespace: xxxx
      # 配置中心文件格式
      config-file-type: yml
      # tomcat、undertow、jetty 三种容器线程池,任选其一
      undertow:
        core-pool-size: 100
        maximum-pool-size: 200
        keep-alive-time: 1000
      # 全局通知配置-是否报警
      alarm: true
      # 活跃度报警阈值;假设线程池最大线程数 10,当线程数达到 8 发起报警
      active-alarm: 80
      # 容量报警阈值;假设阻塞队列容量 100,当容量达到 80 发起报警
      capacity-alarm: 80
      # 报警间隔,同一线程池下同一报警纬度,在 interval 时间内只会报警一次,单位秒
      alarm-interval: 8
      # 企业微信填写用户 ID(填写其它将无法达到 @ 效果)、钉钉填手机号、飞书填 ou_ 开头唯一 ID
      receives: xxx
      # 动态线程池列表
      executors:
        - thread-pool-id: 'message-consume'
          # 核心线程数
          core-pool-size: 1
          # 最大线程数
          maximum-pool-size: 1
          # 阻塞队列名称,参考 BlockingQueueTypeEnum,支持 SPI
          blocking-queue: 'LinkedBlockingQueue'
          # 阻塞队列大小
          queue-capacity: 1
          # 执行超时时间,超过此时间发起报警,单位毫秒
          execute-time-out: 1000
          # 拒绝策略名称,参考 RejectedPolicyTypeEnum,支持 SPI
          rejected-handler: 'AbortPolicy'
          # 线程存活时间,单位秒
          keep-alive-time: 1024
          # 是否允许核心线程超时
          allow-core-thread-time-out: true
          # 线程工厂名称前缀
          thread-name-prefix: 'message-consume'
          # 是否报警
          alarm: true
          # 活跃度报警阈值;假设线程池最大线程数 10,当线程数达到 8 发起报警
          active-alarm: 80
          # 容量报警阈值;假设阻塞队列容量 100,当容量达到 80 发起报警
          capacity-alarm: 80
          # 通知配置,线程池中通知配置如果存在,则会覆盖全局通知配置
          notify:
            # 报警间隔,同一线程池下同一报警纬度,在 interval 时间内只会报警一次,单位分钟
            interval: 8
            # 企业微信填写用户 ID(填写其它将无法达到 @ 效果)、钉钉填手机号、飞书填 ou_ 开头唯一 ID
            receives: xxx
        - thread-pool-id: 'message-produce'
          core-pool-size: 1
          maximum-pool-size: 1
          queue-capacity: 1
          execute-time-out: 1000
          blocking-queue: 'LinkedBlockingQueue'
          rejected-handler: 'AbortPolicy'
          keep-alive-time: 1024
          allow-core-thread-time-out: true
          thread-name-prefix: 'message-consume'
          alarm: true
          active-alarm: 80
          capacity-alarm: 80
          notify:
            interval: 8
            receives: xxx
Last Updated: 1/6/2023, 9:59:30 AM
⛽️skywalkiing
🚧全链路traceId

← ⛽️skywalkiing 🚧全链路traceId→

最近更新
更多文章>
Gobrs-Async | Copyright © 2022-2023 Memorydoc | Apache License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式