У меня есть приложение для Интернета вещей. Где для связи использую протокол mqtt. Я использую Emqttd (http://emqtt.io/) в качестве брокера mqtt. Теперь все мои устройства, а также мой сервер узла подключены к MQTT Broker в качестве клиента. Всякий раз, когда устройству необходимо обновить свой статус, оно публикуется по определенной теме, и мой сервер узла прослушивает все темы. Но боюсь, что если нет. сообщений в секунду увеличивается, сможет ли мой сервер обрабатывать все эти сообщения и обновлять их статусы в базе данных? есть ли предел для нет. сообщений, которые клиент может обрабатывать каждую секунду? Или есть лучший способ обновить статус моего устройства в базе данных.
Сколько сообщений может обработать сервер, выступающий в роли клиента MQTT
comment
Зависит от спецификаций вашего клиента. У меня есть одноядерное устройство ARM с частотой 400 МГц, которое может отправлять ~ 1000 сообщений через mqtt в секунду. Код написан на C ++, но я думаю, что на более мощном устройстве вы сможете достичь лучших результатов с помощью node. Если вы думаете, что ваш сервер не сможет обрабатывать входящие сообщения, вам стоит взглянуть на кластеризацию клиента mqtt узла.
- person Tobi   schedule 15.12.2016
comment
Вам нужно будет протестировать его производительность / пропускную способность на представителе развертывания вашей целевой среды. В этом нет ничего необычного - это то, что вам нужно сделать для любого сервера / сетевой системы / службы, которую вы хотите масштабировать.
- person barny   schedule 15.12.2016
Ответы (1)
Брокер MQTT может обрабатывать неограниченное количество подключений. Этого можно добиться, настроив сервер, на котором установлен брокер. При настройке системы следует учитывать следующие параметры: 1. Количество открытых портов: этого можно добиться, увеличив ulimit сервера. 2. Количество запущенных фоновых процессов должно быть как можно меньше.
person
Arbaz Alam
schedule
20.12.2016
У брокеров есть пределы производительности, как и у любого программного обеспечения.
- person Gambit Support; 25.01.2017