Victor
Подскажите плз, какой самый правильный способ сделать distributed lock в монге? Есть бд и есть там сущности, есть программа которая эти сущности обрабатывает (много математики, дорогой по ресурсам процесс) и она может быть запущена на более чем 1 сервере. Задача чтоб каждый клиент получал уникальную сущность для обработки из базы и то что уже кто-то получил лочилось. Первое что приходит в голову это апи которое раздает сущности и имеет ровно 1 конкурентное соединение к монге. Второе это redis redlock (неохота тащить такую здоровую сущность в стек ради этого). А как бы вы это решали?
Тут лучше всего выбросить монгу на помойку и взять PgSQL, но если вам все равно на надежность, то лучше всего сделать отдельный сервис локинга, такое себе простенькое API, к которому все обращаются за блокировками, как вы и сами думали делать.