当前位置:首页 > 高性能开发 > 高性能WEB开发

关于java分布式的有关问题,求帮助

优良自学吧提供关于java分布式的有关问题,求帮助,关于java分布式的问题,求帮助目前有个需求,需求的场景大概是这样的。有一个主系统,一个子系统。主系统在服务器上只会部署一份。而子系统会在多个服务器上部署多份,实际上就是分部式部署的场景。比如我有4台服务器,4台服务器都分别部署了子系统。而主系统部署在另外的一台服务器上,主系统负责分

关于java分布式的问题,求帮助
目前有个需求,需求的场景大概是这样的。有一个主系统,一个子系统。主系统在服务器上只会部署一份。而子系统会在多个服务器上部署多份,实际上就是分部式部署的场景。比如我有4台服务器,4台服务器都分别部署了子系统。而主系统部署在另外的一台服务器上,主系统负责分发任务。例如:要定时从数据库取数据做运算,并将数据写回到数据库。那么主系统会读取数据库,假如一次读取1000条。主系统会把1000条数据进行分发,给到四个子系统,每个子系统250条。子系统负责运算,运算完毕后子系统将各自的数据交还到主系统中,由主系统将数据写入到数据库中。
就是上述的需求场景,想问问大家实现的思路是什么样的?如果子系统部署了多套,那么每套子系统在启动的时候是需要通知主系统的,这样主系统才会知道有多少个子节点可以派发任务。但是如何通知主系统?应该怎么实现?麻烦各位给个思路。
包括主系统和子系统之间的数据传输问题。
谢谢各位。

------解决思路----------------------
你这个是可以采用dubbo+zookeeper ,主服务器作为dubbo客户端,子系统作为dubbo中服务提供者,zookeeper作为注册中心http://dubbo.io/Home-zh.htm
------解决思路----------------------
引用:
就是上述的需求场景,想问问大家实现的思路是什么样的?如果子系统部署了多套,那么每套子系统在启动的时候是需要通知主系统的,这样主系统才会知道有多少个子节点可以派发任务。但是如何通知主系统?应该怎么实现?麻烦各位给个思路。
包括主系统和子系统之间的数据传输问题。
谢谢各位。


子系统与主系统之间,采用c-s方式tcp长连接保持通讯。子系统可以从数据库或者一个公共的url获取主系统的动态的地址。当子系统连接主系统之后,可以把自己的信息传给它。当子系统有任务要请求主系统去分发时,则把任务推给它。当主系统有任务要分发执行时,可以把任务推给子系统。

这里有一个“单点”依赖问题,就是这个主系统的地址(当主系统崩溃时,你可能随时更换一个新的主系统)。子系统可以像QQ那样短线重连,每一次都动态寻找最新的主系统地址。然后主系统跟子系统之间也不过就是3、4种信令就够完成你的要求的了。

实际上没有必要浪费一个服务器。可以使用子系统中的某台服务器作为主系统。
(本文来自互联网,不代表搜站(http://www.ylzx8.cn/)的观点和立场)
本站所有内容来自互联网,若本站收录的信息无意侵犯了贵司版权,请给我们来信(ylzx8cn@163.com),我们会及时处理和回复,谢谢