Что можно почитать по разработке realtime-приложений?
В данный момент работаю над проектом, который подразумевает высокую доступность - ежеминутно и круглосуточно происходит множество событий, прерывать которые крайне нежелательно. На мне как на разработчике висит высокая ответственность за поддержание работоспособности проекта.
Посоветуйте пожалуйста книги и другие учебные материалы, в которых можно почерпнуть знания по разработке realtime-приложений. Какие есть технологические особенности, практики построения таких проектов?
sim3x, вы наверно меня неправильно поняли. Есть веб-проект, работающий в режиме реалтайм, который я поддерживаю. Я занимаюсь только веб-приложениями, и все вопросы, которые я задаю, связаны так или иначе с вебом. То, что реалтайм завязан как на фронт, так и на бэк, это и так понятно.
Для приближения к термину realtime вам требуется проложить физический отдельный кабель к вашему клиенту
Также нужет свой протокол поверх UDP
Даже после того стоит использовать термин realtime с оговорками
sim3x, если реалтайм понимать совсем-совсем буквально, то с вами можно согласиться. В инете можно найти очень много инфы, где web и realtime встречаются в одном предложении) Вполне нормальное допущение, чтобы не выдумывать лишних терминов.
Для веба можете применять термин server side events, server side push, etc
Они не накладывают на вас никаких обязательств по таймингам доставки, тк без указанных мною выше требований, вы их не сможете соблюсти
sim3x, хотелось бы видеть не только утверждение, но и конкретную аргументацию. Я, например, регулярно вижу упоминание различных типов real-time систем в литературе, и даже на википедии: https://en.wikipedia.org/wiki/Real-time_computing#...
Разделение на hard, firm и soft real-time системы выглядит вполне оправданным
Soft – the usefulness of a result degrades after its deadline, thereby degrading the system's quality of service.
То есть не смотря на снижение QoS система продолжает считаться real-time.
An example can be software that maintains and updates the flight plans for commercial airliners: the flight plans must be kept reasonably current, but they can operate with the latency of a few seconds. Live audio-video systems are also usually soft real-time; violation of constraints results in degraded quality, but the system can continue to operate and also recover in the future using workload prediction and reconfiguration methodologies.
web и realtime - немного из разных миров, потому, что наличие сети подразумевает задержки в передаче/получении данных. Realtime - это не про ежеминутно, это про еже-нано/микросекундно.