tinympi4j微型 java 分布式离线计算框架

联合创作 · 2023-09-19 02:07

tinympi4j 是一款微型的 java 分布式离线计算框架, 实现原理如图:

特性

  • 简单直观, 没有任何学习难度

  • slave支持多个任务并发/并行执行

  • 使用HTTP协议通信

  • 场景: 找素数/grep/wordcount/超大文件或大量小文件处理

  • 不支持复杂数据类型

  • 没有进度监控,健康监控,无容错功能

例子: 用两台服务器分布式计算找出10000以内的素数

public static void main(String[] args) {
	
		//启动master上的tomcat
		final int masterport = 8086;
		final String masterurl = "http://192.168.1.100:" + masterport;
		TomcatTool.startMasterTomcat(masterport);
	
		//创建任务
		final BigTask<Integer> bigtask = BigTask.create(masterurl);
	
		//添加任务到两台计算节点, 请确保计算节点上的 tinympi4j-slave 已启动
		//关于计算节点: https://github.com/binaryer/tinympi4j-slave
		bigtask.addTask2Slave("http://192.168.1.101:1234", PrimeSplitedtask.class, new Integer[] { 2, 5000 });
		bigtask.addTask2Slave("http://192.168.1.102:1234", PrimeSplitedtask.class, new Integer[] { 5001, 10000 });
	
		//等待所有节点执行完毕
		final Collection<Integer> resultset = bigtask.executeAndWait();
			
		//打印结果
		for (int n : resultset){
			//System.out.println(n);
		}
	}
浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报