Управление несколькими Java-приложениями

Прямо сейчас мы изучаем разработку приложений для живого видеочата, которые будут состоять из видео (wowza), веб-части (spring mvc), чата (rabbitmq)... частей. Я хотел бы разделить каждую часть на отдельное приложение.

Каков наилучший способ общения этих приложений. Я читал о Rabbitmq как о системе обмена сообщениями, это популярный способ масштабирования и подключения приложений. Это то, что сообщество регулярно использует?

Также каждому приложению потребуется аутентификация, мы хотели бы использовать для этого безопасность Spring, что является лучшим способом, чтобы все разные приложения использовали одну точку безопасности. Подойдет ли для этого Rabbitmq или придерживайтесь jms

Я некоторое время был вне мира Java, я немного устарел, пожалуйста, помогите мне с этим.


person Mike Z    schedule 20.04.2012    source источник
comment
Впереди трудные решения! Я мало что знаю о Wowza, но собираетесь ли вы транслировать/передавать видео через эту общую шину обмена сообщениями? Отложив на время вопрос безопасности, для чего вам нужен этот уровень обмена сообщениями? Кроме того, вы будете на 100% java, или у вас также будут отправка/получение участников, не использующих Java?   -  person Nicholas    schedule 21.04.2012
comment
Спасибо за ответ, мы надеемся использовать только java, но мы можем использовать C++ для рендеринга видео. так что мы хотим быть готовы к этому. Поэтому, чтобы ответить на ваш вопрос, мы должны быть готовы и к другим языкам. Также шина обмена сообщениями, пример: пользователь запускает видеочат (1-е приложение) в то же время чаты (2-е приложение), и когда они разговаривают друг с другом, они хотят опубликовать свой разговор для всех (3-е приложение подхватывает видео-разговор и перекодирует его) Все 3 приложения должны в это время общаться друг с другом, а также делиться информацией о пользователе/логине   -  person Mike Z    schedule 21.04.2012


Ответы (1)


Поскольку вы предполагаете реализовать использование нескольких языков, RabbitMQ кажется лучшим выбором, поскольку это реализация AMQP, которая утверждает, что поддерживает более разнообразный набор языков. Я имею в виду, что большинство реализаций JMS имеют довольно богатую языковую поддержку (кроме Java), но кажется, что AMQP имеет больший импульс в этой области.

Вы также можете использовать ZeroMQ. Судя по вашему описанию, вам может не понадобиться столько на бэкэнде (очередь, постоянство и т. д.). Вам также может быть проще реализовать обмен сообщениями в транспортных протоколах, которыми проще управлять для распределенного сообщества пользователей, которое может застрять за брандмауэрами, нуждаться в использовании прокси-серверов и т. д.

//Николас

person Nicholas    schedule 21.04.2012
comment
еще один вопрос, а если придерживаться стека Java, какие есть варианты, jms лучшее решение? есть ли еще что-нибудь? - person Mike Z; 23.04.2012