@Splite

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

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

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

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

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

Похожие вопросы