169 похожих чатов

IoT device <-> ? <-> Flutter apps. Привет опытным спецам! Исходные данные:

Flutter аппликации и IoT устройство должны уметь в реальном времени обмениваться данными по инициативе любой из сторон. К одному IoT устройству могут подключаться многие аппликации, но лишь имеющие на это право.
Предполагаемая нагрузка на сервер: сотни тысяч устройств, аппликаций раз в 10 больше.
Актуальное состояние IoT устройств и ряд дополнительных данных должны храниться на сервере, чтобы их можно было оттуда забрать в другую аппликацию.
Прога для IoT будет писаться другим человеком, там, скорее всего, какой-нибудь Си.

Вопрос к знатокам: насколько подходит для этих целей Firebase?

Слышал про жалобы на задержки при передаче данных, что для real time неприемлемо. Рассматриваемые конкуренты: Телеграм боты или самописный сервер.

17 ответов

13 просмотров

Какой realtime вам нужен?

Alexander-Kokin Автор вопроса
Arthur G
Какой realtime вам нужен?

Чтобы 2-4 КВ данных пролетали с подтверждением о получении до секунды.

Есть опенсурс селф хостед решение с клиентом под флатер Называется centrifuge Клиент под дарт немного через жепу правда написан) https://github.com/centrifugal/centrifugo

🅵🅾️🆇
Есть опенсурс селф хостед решение с клиентом под ф...

Ну и в догонку статьи типа таких https://phoenixframework.org/blog/the-road-to-2-million-websocket-connections https://habr.com/ru/company/vk/blog/331784/

🅵🅾️🆇
Есть опенсурс селф хостед решение с клиентом под ф...

Но клиент рабочий, да и самому имплементацию написать совершенно не сложно Основная фишка же в сервере

Alexander Kokin
О, интересненько! Сеньк-с 🙏

Также у вас всегда есть вариант с gRPC Ну и самое сложное во всех этих вебсокетах - это нагрузка на сервер и большое количество открытых соединений держать Ну и гарантировать доставку, конечно Но если у вас это буквально не чат, когда все со всеми в реальном времени, а скажем как группа чатов, когда некоторые с некоторыми То тут можно обыграть балансировкой на стороне клиента Если простым языком: представьте что есть игра, скажем стрелялка с одной стороны тут все играют и постоянные соединения но с другой, можно разделить на отдельные сервера, по 12-64 человека под игру и какой то общий http сервер, который говорит какие сервера доступны и сколько там играет

Alexander-Kokin Автор вопроса
🅵🅾️🆇
Также у вас всегда есть вариант с gRPC Ну и самое ...

В идеале запустить сервер на самом IoT устройстве, чтобы к нему обращались несколько клиентов с разными правами и он мог пушить клиентам по своей инициативе (даже хотя бы через другой сервер, тот же Firebase), а всем остальным был отлуп. Это решило бы проблему самым изящным образом. Но я пока не располагаю данными о ресурсах устройства, чтобы знать, потянет ли оно такой сервер, если еще и протокол защищенный использовать.

Alexander-Kokin Автор вопроса
🅵🅾️🆇
Также у вас всегда есть вариант с gRPC Ну и самое ...

"самое сложное во всех этих вебсокетах - это нагрузка на сервер и большое количество открытых соединений держать" - поэтому в качестве варианта рассматривается Телеграмм бот. Но тогда у всех интересантов должны быть профили в телеге. Хозяин IoT устройства создаёт бота, и открывает свой чат с устройством, к которому могут быть подключены остальные заинтересованные пользователи. Чтобы избежать автоматического удаления чата Телеграммом, организовать чат из ограниченного числа сообщений с их редактированием. Но это тоже пока гипотетическая архитектура, своего рода аналог gRPC.

Alexander-Kokin Автор вопроса
🅵🅾️🆇
Звучит как бред из 10)

Почему бред? Если абстрагироваться от аппликации, то IoT устройство, управляемое через Telegram bot прямо из чата вполне себе реальная тема, уже имеющая свою девелоперскую традицию )

🅵🅾️🆇
Звучит как бред из 10)

Вот иронизируешь, а ведь телеграм ещё не заблокирован. 😁

Arthur G
Вот иронизируешь, а ведь телеграм ещё не заблокиро...

Зачем нужна реалтайм фаербейз и пуш нотификейшены, если есть телеграм драйвен девелопмент) Да еще для такой чувствительной и интимной вещи как iot)

Alexander-Kokin Автор вопроса
🅵🅾️🆇
Зачем нужна реалтайм фаербейз и пуш нотификейшены,...

Я же писал выше: коллеги со стороны IoT сравнивали передачу данных через Firebase с Телеграмм ботом и рассказывали, что это секунды в Fb против микросекунд в телеге. Может просто написали криво, не исключаю. Сам еще не проверял. На Fb нотификации здесь ранее жаловались, что запаздывают и это зависит от типа телефона. Так то по описанию Firebase очень хорошо подходит, особенно если часть работы на функции переложить.

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта