分布式集群环境下怎么合并统计线程池信息?

Richard_Yi 2018-01-15 08:39:04
# 背景:
刚进公司实习,主管让我做一个监控线程池的功能模块。

就是在创建线程池后,会调用注册一下我的线程池工具。

```java
/**
*
* 线程池监控注册器
*
* @author Ric
*
*/
public final class ThreadPoolMonitorUtils {

private static final Map<String, ExecutorService> map = new HashMap<String, ExecutorService>();


/**
* 将线程池加入监控队列
* @param es
* @param esUniqueName
*/
public synchronized static void register(ExecutorService es, String esUniqueName){
if(map.containsKey(esUniqueName)){
throw new RuntimeException("重复注册监控"+esUniqueName);
}
if(map.containsValue(es)){
throw new RuntimeException("重复注册监控值"+esUniqueName);
}
map.put(esUniqueName, es);
}


public static Map<String, ExecutorService> getMap() {
return map;
}

}
```
然后使用者在页面上能够实时查询当前项目的进程池状态。

重点数据是:排队任务数,执行总数,当前线程数,空闲线程数

如下图:



现在是说要把我这个功能应用到部门其他的系统上,要求考虑分布式+集群,对代码进行改造。

# 问题
比如我现在这个项目叫做pro,如果我要部署多个pro,我应该怎么样才能统计到每个项目实例中注册的线程池信息呢(按照单个物理服务器分类)?在分布式场景下还会有什么变化吗?我想过通过第三方缓存,但是不符合实时的需求。。可否请大佬们给点思路或者已有的资料参考。万分感谢。

btw:本人刚刚实习,也不是科班出身的程序员,如果有什么技术表述的错误,请指正。。
...全文
631 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Richard_Yi 2018-01-15
  • 打赏
  • 举报
回复
引用 1 楼 dong_19890208 的回复:
可以考虑用spring boot acturator 和 spring boot admin项目,一个是用于客户端发布状态信息的,一个是监控服务,可以在通过UI界面进行服务状态监控,包括线程池情况、服务器运行情况等,支持分布式
SpringBoot+SpringCloud在上家实习公司有用过,现在这个公司用的是dubbo,请问dubbo的监控服务能做到吗。
dong_19890208 2018-01-15
  • 打赏
  • 举报
回复
可以考虑用spring boot acturator 和 spring boot admin项目,一个是用于客户端发布状态信息的,一个是监控服务,可以在通过UI界面进行服务状态监控,包括线程池情况、服务器运行情况等,支持分布式
dong_19890208 2018-01-15
  • 打赏
  • 举报
回复
引用 2 楼 coqcnbkggnscf062 的回复:
[quote=引用 1 楼 dong_19890208 的回复:] 可以考虑用spring boot acturator 和 spring boot admin项目,一个是用于客户端发布状态信息的,一个是监控服务,可以在通过UI界面进行服务状态监控,包括线程池情况、服务器运行情况等,支持分布式
SpringBoot+SpringCloud在上家实习公司有用过,现在这个公司用的是dubbo,请问dubbo的监控服务能做到吗。[/quote]spring boot acturator 和 spring boot admin 跟spring Cloud没有绑定,dubbo跟spring boot可以一起用,也就可以用spring boot acturator 和 spring boot admin

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧