sim3x, быстро, это значит сегодня 1000 клиентов, завтра внезапно подключилось ещё 10000. Поэтому я не собираюсь всё поднимать прямо сейчас, но хочу завязаться на технологии, с которыми мне хотя бы не пришлось всё переписывать с нуля.
> Скалейбле оно для одного региона, запустил новый инстанс, актуализировал инфу
Не получится. Дело в том, что у меня есть ограниченный доступ к определённому специфическому АПИ, и я могу получать к нему данные только из одного места. И как только я получил данные (с инстанса в Северной Калифорнии, допустим), мне надо их раскидать, чтобы 10000 клиентов их получили допустим в Чикаго и в Китае, с минимальной задержкой относительно времени получения. Т.е. так и так получается cross region.
> Тк непонятны обьемы, обьемы между регионами и тд и тп
Надо чтобы было очень scalable. Вначале будет мало, но есть ряд контрактов, по которым быстро будет расти.
sim3x, ммм... в принципе, тогда можно обойтись и динамо, по стриму опять же перекладывая данные в постгрес. Плохо только если этот сервис упадёт... но думаю я могу сделать так, чтобы он крутился только вместе с тем кто пишет.
> Мемкеш/редис сам будет синхронизироваться между инстансами (в теории)
проверю. Спасибо.
На случай это конечно будет. Но в идеале хотелось бы, чтобы о перезагрузке клиент даже не узнал. Т.е. единственный симптом для него - это задержка по данным на пару секунд.
Да, кстати вот насчёт MVVM хотелось бы ещё спросить. Как бы завязанность View и ViewModel - это красиво и удобно. Но что меня смущает это то что в ней
1. Логика в модели
2. Коллекции моделей тоже заворачиваются в модель
Смотрится как-то ну не совсем правильно скажем так. Или Model здесь - это и есть наполовину контроллер?
Понравилась архитектура MVVMC отсюда: skimp-blog.blogspot.com.ar/2012/02/mvvm-is-dead-lo...
Спасибо за развёрнутый ответ, ситуация примерно ясна. По всей видимости, действительно будем пробовать-тестировать производительность. Как я сейчас понял из общения с человеком, там больше проблема в том что именно апи тяжело принять даже 100 запросов.
1. Откуда взялось 17, если каждый из 1000 обменивается раз в секунду? И каждому надо отдать целый json файл с Х строками раз в секунду, против 1-2 строк и только по факту реального появления.
2. С точки зрения умения всё равно что использовать, я больше завязан на корпоративные заморочки. Однако, для конструктивной дискуссии: на каждого клиента надо создать поток, что может быть тяжеловесно для шарпа, в отличие от гоу, и на каждого надо держать соединение, что лучше (насколько я знаю) умеет Node.js. Это не так?
evgeniy_lm: GPIO. Как упомянул в вопросе, у меня есть ODROID-C2, и на нём есть GPIO порты. По идее можно просто подвести на него провода с тем же эффектом?
Насчёт лампочек: я делаю своего рода охранную систему, т.е. следующим шагом - при открывании двери система мне скидывает смс и снимает комнату с веб-камеры.