В: Менеджер может принимать несколько соединений, каждое соединение выполняется как поток, но как мне отличить клиентское соединение от рабочего?
Полагаю, вы можете определить какой-то протокол, под которым я подразумеваю формат / семантику сообщений, может помочь тип сообщения.Кроме того, что касается распределенной системы, FIFO не может быть хранилищем, я думаю, вы должны использовать какой-то механизм в качестве номера последовательности, логических часов, чтобы позаботиться о соответствии между запросом и ответом.
В: Как мне сохранитьотслеживать количество работников, подключенных в настоящее время?
Во-первых, учетные записи и выход из системы могут быть приняты во внимание, однако, это не всегда возможно, особенно выход из системы;во-вторых, ошибка подключения с использованием тайм-аута, так как в случае сбоя после отправки может быть некоторый порог или сообщение «getResult»;в-третьих, что касается DS, я думаю, что вам лучше применить некоторый алгоритм выборов, чтобы убедиться, что всегда есть рабочий.