1. Нужно понимать что накладные расходы на коммуникацию очень сильно снижают общую отзывчивость проекта, иногда это бывает слишком критично. Первым делом нужно разобраться с
Discovery, и имхо лучше слезть на gradle.
2. Этот вариант работает в случае с использованием Discovery расширения - в рамках приложения работает куча сервисов которые регистрируются и происходит последующий роутинг в зависимости от текущей нагрузки. В рамках Curator частично реализован
raft алгоритм задачи консенсуса, но не полностью, некоторые вещи обычно приходится дописывать руками в зависимости от требований проекта.
3. Для начала стоит разобраться с ZooKeeper, а потом пытаться пилить Curator.