HazelCast系列之:集群内互相调用利器

       现有如下一种业务场景,用户点击系统控制台页面,查看我们想要统计集群内各个机器某项业务指标的情况然后做汇总,返回到页面上。

       直接说方案:

       先引入HazelCast包

       我们可以抽取一个CollectorService,这个service有一个方法叫做String collect();业务逻辑在每个机器执行后返回一个String类型的结果。

      然后我们定义一个任务:MonitorTask继承自Callable,Serializable,然后在call方法中调用业务方法:CollectorService的collect得到结果。这个只是单台机器的情况。现在我们需要得到集群内所有机器的执行情况,可以如下操作:


HazelCast系列之:集群内互相调用利器_第1张图片

声明一个全局的ExecutorService,由于HazelCast可以获取到集群内每个node,所以它也可以将请求分发到每台机器上。我们通过Future的get获取到所有的结果,展示在页面做汇总,问题完美解决!!!

如果觉得文章不错,欢迎关注我的微信公众号:

HazelCast系列之:集群内互相调用利器_第2张图片
@程序员,@IT互联网

你可能感兴趣的:(HazelCast系列之:集群内互相调用利器)