клиента собирать и передавать необходимые данные. Однако, клиент на данный момент и сам может получать данные напрямую от сторонних сервисов, без участия сервера. Да, такой толстоватый клиент получается.
Вопрос: оставить ли возможность клиенту использовать сторонние сервисы для получения данных, или ограничить этот процесс исключительно запросами к серверу?
Почему сейчас реализовано именно так - сервер может быть недоступен, а данные отобразить нужно, поэтому первым источником на клиенте являются сторонние сервисы. В этом ведь нет ничего криминального?
Кажется тут есть вопросы, которые влияют на оценку корректности подхода Какая ситуация менее приемлемая: отсутствие данных, или невалидные данные? Можно ли считать, что данные от сторонних сервисов точно будут валидны? (Что делать если сторонние сервисы (сознательно) пришлют неправильный ответ, и как эту ситуацию распознать?) Если сторонние сервисы тоже недоступны, что произойдёт? И надо ли решать вопрос синхронизации данных, полученных из разных источников?
"Можно ли считать, что данные от сторонних сервисов точно будут валидны? (Что делать если сторонние сервисы (сознательно) пришлют неправильный ответ, и как эту ситуацию распознать?)" В том-то и дело, что валидация в случае сторонних сервисов в качестве источника происходит непосредственно на клиента. Как обработка исключений, с этим всё норм, учтены самые различные сценарии. "Какая ситуация менее приемлемая: отсутствие данных, или невалидные данные?" Отсутствие данных. Так как система реалтайм-мониторинга котировок с большим кол-вом функций, отсутствие данных - критическое состояние основной функции клиента. "Если сторонние сервисы тоже недоступны, что произойдёт?" Я вот думаю, в случае их недоступности перенаправлять запросы на сервер. Да, все возможные варианты по нагрузке на сервер в тех или иных случаях я уже учёл.
Обсуждают сегодня