Как создать распределенное приложение на Spring Framework?
Сейчас популярна концепция микросервисов и у спринга для этого есть Spring Cloud projects.spring.io/spring-cloud, это набор модулей, который позволяет быстро разрабатывать проекты на сервис-ориентированной архитектуре. Каждый сервис должен быть независимым приложением, для которого не нужен отдельный app сервер, должен иметь свои скрипты сборки и деплоя (maven, gradle, bash, dockerfile, etc). 
P.S. RPC (RMI) не советую для микросервисов, лучше простой REST, как можно проще, без написания отдельных клиентов для него. RMI увеличивает связность между сервисами. Советую почитать книгу «Создание микросервисов».
проблема 1: гугл нам поможет