Docker w teorii nie jest konieczny, ale w praktyce nie bardzo sobie wyobrażam tworzenie mikroserwisów bez niego. Docker pozwal odizolować konkretny mikroserwis od całej reszty. Jeśli sobie postawisz mikroserwisy bezpośrednio w systemie, to będą na siebie bezpośrednio wpływać. Dzięki Dockerowi to po prostu nie jest możliwe.
Co do jednego serwera, który koordynuje komunikację: to typowy single point of failure, a po to się robi mikroserwisy, żeby czegoś takiego uniknąć. W architekturze mikroserwisowej nigdy nie powinno być jednej usługi, której pad oznacza pad całego systemu. Zawsze powinna być redundancja i jeśli jeden serwis pada, to jest inny, mogący przejąć jego zadania.