Ситуация следующая: есть приложение обрабатывающее UDP запросы.
Разработчики, когда его делали, посчитали, что «640К хватит всем», в итоге процесс может обработать максимум 500 тысяч запросов, занимая при этом около 3.5 гигов памяти.
500 тысяч это мало, сервер может потянуть гораздо больше, но лимит на количество соединений жёстко задан в коде.
Ограничение можно обойти запустив несколько экземпляров приложения (выделив другие адреса и порты), вопрос в том, что при запуске приложение проверяет, что другой экземпляр уже не запущен.
Это можно обойти переименовыванием бинарника и правкой стартовых скриптов, но что-то это как-то совсем в лоб и скучно, если я решу запустить их штук 10 сразу
Может есть какой-то стандартный велосипед покрасивее сделать так, чтобы процессы работали изолированно и друг о друге ничего не знали?