К примеру, есть сервер на которых работают различные микросервисы под управлением RabbitMQ. В дальнейшем, при росте нагрузки, появилась необходимость вынести некоторые сервисы на отдельные сервера. Как их можно объединить, чтоб они видели RabbitMQ
Если вы можете оставаться в приделах одного ДЦ, вы остаетесь в приделах одного ДЦ.
При этом понимаю, что дата центр любое помещение где у вас сервера. Хоть дома на балконе.
Если вам пришло время рости больше чем один ДЦ и думать об распределенных задачах, значит и связность вам надо делать распределенной. Этот вопрос не так прост, как может показаться изначально. Действительно, можно воспользоваться VPN каналом и кажется ну вот же клево то ? Но теперь представим, что vpn канал упал, а ДЦ продолжает работать. Что дальше будет делать ваше приложение ? Как оно будет работать и как будет восстановлено связность записей когда VPN вернется ?
Поэтому да, ответ VPN в том или ином виде решает эту проблему, но не забываем строить распределенную архитектуру и думать об отказах которые могут быть. Можно сделать открытом канал, через который общаются клиенты и уже например синхронизировать между собой связность ДЦ между собой по этим каналам. Конечно не надо оставлять наружу порты RMQ, mongodb,mysql и других сервисов. По хорошему надо делать только 1 точку входа по vpn,а наружу оставлять только минимально необходимое в работе.