@Splite

Как легко обмениваться сообщениями между Java приложениями?

Есть несколько Java-приложений (7), между которыми мне надо обмениваться json-сообщениями с минимальной задержкой, сейчас все они на одной машине, но потом могут быть на разных. Насколько я понял, нужно копать в сторону JMS, но его реализации (например, ActiveMQ) показались мне слишком тяжелыми для моей задачи, а реализовать взаимодействие через сокеты вручную не хочется. Что можете посоветовать?
  • Вопрос задан
  • 200 просмотров
Пригласить эксперта
Ответы на вопрос 2
jamakasi666
@jamakasi666 Куратор тега Java
Просто IT'шник.
Если нужна минимальная задержка то нужно отказываться от json в пользу бинарников, например protobuf. Максимально все урезать в сообщениях оставив только действительно важное. Желательно задействовать чистый udp по возможности, или если критичны потери взять tcp.

Как вариант действительно простого решения можно попробовать kryonet, там и сериализатор из коробки довольно удобный.
Ответ написан
Комментировать
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Еще, если данные у вас общие, то попробуйте вообще без сообщений! Смотрите в сторону hazelcast.org или apache ignite. Это системы In-Memory DB, кеши живущие в памяти и распределяющие данные между нодами.

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы