Как выбрать архитектуру приложения с учетом необходимости использования нескольких языков программирования?
Притчу о Вавилонской башне почитайте.
Можете писать на многих языках, а для связи между компонентами использовать что то вроде nsq или Redis, а вот  тут есть RPC реализация для редиса.