#java #tcplistener
#java #tcplistener
Вопрос:
Мы разрабатываем систему отслеживания транспортных средств. В этой системе мы устанавливаем в транспортное средство устройство GPS, которое отправляет данные о местоположении на наш сервер с использованием TCP-связи. В любой момент времени может быть более 1000 устройств, отправляющих данные. Пожалуйста, предложите мне лучшие практики, которым я должен следовать для создания TCP communicator. Мы используем Java в качестве языка программирования и MySQL в качестве сервера баз данных.
Мне нужны ваши предложения о лучших практиках, которым я должен следовать, вместе с причинами. например, я должен следовать модели «Поток на соединение» или модели многопоточности «Поток на событии»? Почему эта модель? Как я должен реализовать объединение в пул соединений? Должен ли я реализовать очередь обмена сообщениями? и т.д..
Спасибо, Саурабх
Комментарии:
1. Ваш вопрос очень широкий и мало что говорит о ваших требованиях. Я бы, вероятно, использовал библиотеку на основе NIO для сервера, если это то, о чем вы спрашиваете. Например, Netty
2. @Kaj прошу прощения за это.. Я обновил вопрос. Надеюсь, это прояснит то, что я должен спросить.
Ответ №1:
Я создал аналогичную систему. Я использовал Mule3 для прослушивателя tcp-сервера, а затем, прочитав данные, я просто переслал их с помощью JMS на сервер ActiveMQ.
У меня было около 10-20 слушателей в каждой очереди, обрабатывающих данные, помещающих их в мою базу данных, выполняющих правила над данными, чтобы определить, нужно ли отправлять сигналы тревоги и т.д.
Этот результат получен в очень стабильной и простой в работе среде. Небольшие модули с конкретными задачами.