Зависимости от внешних (веб) сервисов - PullRequest
1 голос
/ 08 октября 2009

В настоящее время я участвую в проекте, где мы разрабатываем большой веб-сайт, который в значительной степени зависит от внешнего сервиса (для некоторых функций), разработанного другой компанией. Внешний сервис иногда ломается и не предоставляет нам данные, которые нам нужны. Это серьезная проблема для нас, поскольку требования к «нашему» сайту очень высоки.

Как мы должны справиться с этим? Мы неохотно кешируем данные с внешнего сайта, чтобы использовать их в качестве «резервной копии», поскольку в таком случае мы можем отображать устаревшие или неправильные данные. Мы также считаем, что не следует пытаться «исправлять» проблемы во внешней системе путем хранения локальных копий внешних данных, поскольку это может привести к проблеме синхронизации, когда локальные данные устарели или неверны.

У кого-нибудь есть подобный опыт? Любые идеи, как мы решаем это (или, по крайней мере, смягчаем проблему)?

Ответы [ 2 ]

1 голос
/ 08 октября 2009

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

Вы знаете, каковы ваши потребности и требования, и исходя из того, что я могу прочитать, актуальность данных имеет решающее значение, но так важна доступность вашего сервиса. Основываясь на этом понимании, если вы можете кэшировать данные, я бы определенно сделал это, но использовал его только как резервную копию, когда это необходимо.

1 голос
/ 08 октября 2009

Кэширование будет моим первым выбором.

Это зависит от сайта, который вы разрабатываете, но не могли бы вы кэшировать все результаты и сообщить пользователям, что это то, что вы сделали - например, «это было верно в 2009-10-08 - нажмите здесь, чтобы обновить»

ОБНОВЛЕНИЕ: Не зная больше о том, какие данные вы получаете от веб-службы и что аудитории вашего сайта сложно понять, что предложить, так как решение будет во многом зависеть от тех, факторы. Вам нужно подумать о своих клиентах, чтобы решить, можете ли вы показать им потенциально устаревшие данные или нет.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...