Как реализовать общение двух и больше компьютеров в java?

Здравствуйте, как реализовать общение между двумя и больше компьютеров? Читал что нужно использовать сокеты, но возможно есть и другой вариант? Раньше делал только веб-приложения и с таким не сталкивался.

Суть заключается в том, что на каждом компе приложение будет обрабатывать информацию и передавать ее на "главный" комп. Можно это выполнить в spring, например?
  • Вопрос задан
  • 227 просмотров
Пригласить эксперта
Ответы на вопрос 4
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Есть десятки способов в сотнях сочетаний. Начать стоит с изучения стандартных - RMI и JMS.
Ответ написан
Комментировать
leahch
@leahch
3Д специалист. Долго, Дорого, Дерьмово.
Самый простой путь, использовать на главном простой web-сервер. Клиенты будут забирать информацию с главного по REST/json, и ее обрабатывать, результаты слать также по REST.
Более сложный - использовать очередь сообщений типа RabbitMQ, ZeroMQ или Redis в простом случае.
Если данные нужно гонять между клиентами напрямую, посмотрите в сторону kryonet
Ну а можно поставить hazelcast или apache ignite и решить сразу несколько проблем, и с очередями, и с распределенными заданиями, и с оркестрацией.
Более сложные техники уводят нас в сторону hadoop/apache spark.

В этом ключе совсем не рекомендую использовать RMI (ну, пару примеров сделать можно, для самообразования), а вот на JMX взгляните, понадобтися.
Ответ написан
@kuftachev
Java RMI или сериализация в json/XML.
Ответ написан
@odissey_nemo
Программист, ГИС-системы, растры, космоснимки
Если есть общая БД, то достаточно просто реализовать получение и обработку через неё. С монопольным захватом данных, передачей данных, синхронизацией и т.д.. БД это всё поддерживают. И никаких сокетов, это плюс. Только доступ к БД, который, несомненно, тоже надо администрировать. Но это неизбежно и не даёт дополнительных затрат времени.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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