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

🤔 Есть сервер, есть клиент под него. Сервер может по запросу

клиента собирать и передавать необходимые данные. Однако, клиент на данный момент и сам может получать данные напрямую от сторонних сервисов, без участия сервера. Да, такой толстоватый клиент получается.

Вопрос: оставить ли возможность клиенту использовать сторонние сервисы для получения данных, или ограничить этот процесс исключительно запросами к серверу?

Почему сейчас реализовано именно так - сервер может быть недоступен, а данные отобразить нужно, поэтому первым источником на клиенте являются сторонние сервисы. В этом ведь нет ничего криминального?

2 ответов

32 просмотра

Кажется тут есть вопросы, которые влияют на оценку корректности подхода Какая ситуация менее приемлемая: отсутствие данных, или невалидные данные? Можно ли считать, что данные от сторонних сервисов точно будут валидны? (Что делать если сторонние сервисы (сознательно) пришлют неправильный ответ, и как эту ситуацию распознать?) Если сторонние сервисы тоже недоступны, что произойдёт? И надо ли решать вопрос синхронизации данных, полученных из разных источников?

][_ioN ‏-😏 Автор вопроса
Алексей Попов
Кажется тут есть вопросы, которые влияют на оценку...

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта