【发布时间】:2011-11-25 17:56:41
【问题描述】:
我希望在 Java 中创建一个分布式框架,并且需要一些帮助来整理客户端/经理/工作人员情况的实现,如下面的伪代码中所述。
Manager
BEGIN
WHILE(true)
RECEIVE message FROM client
IF (worker_connections > 0) THEN
FOR (i=0;i<worker_connections;i++)
SEND message TO worker[i]
FOR (i=0;i<worker_connections;i++)
RECIEVE result[i] FROM worker[i]
SEND merge(result[]) TO client
ELSE
SEND "No workers available" TO client
END IF
END WHILE
END
Client
BEGIN
RECEIVE message FROM user
SEND message TO manager
RECEIVE message FROM manager
END
Worker
BEGIN
WHILE(true)
RECEIVE message FROM manager
result = doSomething(message)
SEND result TO manager
END WHILE
END
到目前为止,我已经按照伪代码中的描述实现了客户端,但是我遇到了经理/工作人员部分的问题,所以目前客户端只是收到没有工作人员可用的消息。管理器可以接受多个连接,每个连接都作为一个线程运行,但是如何区分客户端连接和工作连接?如何跟踪当前连接的工作人员数量?
客户端、经理和工作人员是不同机器的代表,但我只在一台机器上开发(用 Java 编写)。
【问题讨论】:
-
我们可以看看你尝试做的一些代码吗?
标签: java frameworks distributed