дистрибутед локи то должны быть настоящие. И процесс синхронизации, сам факт лока - это вызов по Кафке (внешняя сеть) или 0mq (внутри хоста). И дальше вопрос уже как это решится на всех уровнях - и локально внутри приложения, и на одной машине, и на кафке, и в бд, и как всё это между собой синхронизировать, и кто прав в случае проблм