У меня есть куча независимых частей работы, которые мне нужны для выполнения процессов.Эти части работы могут быть выполнены в любом порядке, и они длятся достаточно долго, чтобы при выполнении работы иногда происходили сбои.
Мне нужно координировать назначение этих частей работы, и DistributedQueue куратора кажется такимэто почти , что я хочу.Мне не нужен порядок, который он обеспечивает, поэтому мне любопытно, какой уровень накладных расходов я оплачиваю, предполагая, что отказываюсь иметь одного потребителя (то есть каждый процесс просто потребляет из очереди).
Меня больше всего беспокоит, как на самом деле работает функция lockPath () в построителе очередей.Мне нужна предоставляемая им функциональность, потому что процессы могут выйти из строя, и мне не нужно отбрасывать задания, которые они должны были выполнять.Но я не хочу, чтобы только один процесс мог выполнять любую работу за раз.Если я использую lockPath (), блокирует ли очередь другие процессы, пока процесс потребляет сообщение?
Кроме того, если очередь кажется необоснованным, есть ли другой инструмент, доступный для достижения того, чего я хочу,или я должен был бы катиться самостоятельно?Я хочу оставаться в среде Куратора / ZK, но я открыт для альтернатив в этом.