Nie sądzę, abym był w stanie zaproponować jakieś sensowne rozwiązanie, ale miałbym parę uwag odnośnie samego problemu.
1) Sam system do komunikacji (rabbitmq) chyba nie rozwiąże problemu kolejkowania zadań. Chyba, że po otrzymaniu pliku od klienta byłby jakiś "load balancer", który podejmowałby decyzję, któremu mikroserwisowi wysłać zadanie.
Bo w istocie są tu dwa różne problemy: pierwszy z komunikacją (przesyłanie informacji), drugi z kolejkowaniem.
2) Problem z dostępem mikroserwisów "do ścieżki" (tak to jest napisane) to raczej kwestia konfiguracji całego systemu.
3) Jak zapobiec sytuacji, w której kilka mikroserwisów "rzuca" się na ten sam plik? Bardzo prosto. Każdy mikroserwis powinien mieć własną kolejkę, z której będzie pobierał pliki do enkodowania (np. poprzez polling, co jakiś czas).
Przychodzi nam kolejne zadanie, to można sprawdzić, który mikroserwis akurat się "nudzi" (albo ma najmniejszą kolejkę, albo zastosować jeszcze inną heurystykę...) i wrzucić mu to do kolejki.
Innymi słowy - kolejkowanie powinno się odbywać POZA mikroserwisami (bo inaczej trzeba będzie rozwiązać problem ewentualnych konfliktów przy podziale zadań).
Kwestia komunikacji z mikroserwisem to już odrębny temat. (Może być poprzez API, może być poprzez wspólną bazę danych i polling po stronie mikroserwisu - możliwości jest wiele.)