https://t.me/ctodaily/1233Спасибо,
@samatg за пост!
Кажется, ссылку на Бакунова отправлял я, потому утверджение про советские газеты и использование головы принял как личное обращение. :)
Что у нас есть на текущий момент.
Кроме [обработки исключения](
https://github.com/signalapp/Signal-Android/commit/c95f0fce6ee3b78ff82fde865b2ee49288e1303f#diff-160146dbaa14fdad2763ce9cbc0495fa58af07625b6a6e102c5c419fb8103693R130)
ServerRejectedException
(не повторять запрос, если сервер сказал, что ему тяжело) во
множестве участков кода,
после падения также было добавлено:
- Возможность [контроля максимального back-off](
https://github.com/signalapp/Signal-Android/commit/93e9dd6425b22db13baaf7e7f780a93bda0a457e#diff-d10b2f5f1993c59be87d4bb45d89dcf84eade9b88777286f3beac1ec81282cd1R71) интервала с сервера. Раньше это было [30 секунд!](
https://github.com/signalapp/Signal-Android/commit/93e9dd6425b22db13baaf7e7f780a93bda0a457e#diff-bd141820aea6050a28f07d92c3a8008fc18a810202c5e5c65968487ea979c5b3L343) (и 2 часа для сценария регистрации).
- Возможность удалённо отключать [автоматический повтор запросов](
https://github.com/signalapp/Signal-Android/commit/05149503333e94bf5ac958f35ea3cacc4a093bd9#diff-d10b2f5f1993c59be87d4bb45d89dcf84eade9b88777286f3beac1ec81282cd1R101).
- Исправление того, что некоторые сетевые задачи [не использовали общую очередь](
https://github.com/signalapp/Signal-Android/commit/3e43963f674b2e735ae060ecf0739881aeb4acbe#diff-71b63432150fdbdbbc56620a00ef07afecbcf0148f3af6c333e1951b8efe3a92R46).
Кроме того:
- [сторонний разработчик](
https://github.com/signalapp/Signal-Android/commit/c95f0fce6ee3b78ff82fde865b2ee49288e1303f#r46037577) пишет, что у него в логах полно 503их ошибок, которые клиент обработает как таковые, что вынуждают повторять запрос.
- В июле аудитория Signal была около 30 миллионов человек. Сколько из них пользовались мессенджером активно (при наличии других более удобных альтернатив) - это вопрос. Например, очень-очень давно я поставил Signal просто посмотреть и удалил. Попадаю ли я (и пользователи их этой когорты) в эти 30 млн? Подозреваю, что да. Когда пошла недавняя шумиха, я тоже поставил Signal абы посмотреть что у них изменилось (и из стадного инстинкта, конечно же). Есть ли ещё люди, которые повели себя так же? Вероятно.
- В декабре количество регистраций в Signal пробило 50 млн. Я не смог найти статистику по устройствах, но огромный прирост в Индии почти наверняка значит бешеный прирост Android-аудитории (уже сейчас Google Play показывает 50+ млн установок).
- После бума Signal в спешном порядке увеличил количество серверов, посколько к таким нагрузкам (и такой популярности) они, похоже, готовы не были.
Итого, ждём отчёта об инциденте, но отсутствие новостей от самой компании, огромный и неожиданный для бизнеса прирост аудитории,
характер и количество изменений в коде Android-клиента - все это позволяет предполагать, что гипотеза об упавших серверах, которые не смогли отбиться от лавины (повторяющихся каждых 30 секунд с миллионов устройств) запросов, кажется довольно вероятной на данный момент.