Рейтинг:
4
Afzaal Ahmad Zeeshan
Цитата:
получит ли этот пользователь последние файлы или обновления?надеюсь, вы все поймете мою точку зрения?
Да, он получит последний файл, если только вы не используете какое-то кэширование или шлюзы CDN, которые кэшируют содержимое. Если вы не используете службы кэширования, CDN или подобные методы, то пользователи всегда будут получать свежий контент. Кроме того, в облаке вы должны предоставлять своим пользователям свежий контент и свежие файлы;
облачные сервисы не бесплатны, и если вы собираетесь платить, заплатите немного больше, чтобы получить максимальную отдачу.
Серверы балансировки нагрузки управляют трафиком и направляют его на виртуальные машины в бэкэнде, и именно этот бэкэнд выполняет обработку. Если вы хотите, чтобы ваши пользователи всегда получали свежий контент, не внедряйте кэширование вообще (
я серьезно это сказал?), но точно так же вы говорите, что знаете время движения (3 часа дня имеют низкий трафик и т. д. в вашем посте), то вы можете реализовать политику низкого кэширования для случаев, когда трафик высок и част.
Кроме того, в этом сценарии я бы просто держал данные вне виртуальных машин и загружал их оттуда, чтобы все 4 виртуальные машины были абстрагированы от операций чтения/записи на диске, и они запрашивали бы поставщиков хранения данных для доставки данных; теперь в этой сцене вы можете иметь
поставщик данных кэширует файлы хранилища для вас.
Кстати, каким облачным провайдером вы пользуетесь? Большинство из этих концепций применимы к Microsoft Azure, и я лично протестировал их на своих сервисах, но другие поставщики должны предоставить вам аналогичный архитектурный дизайн.
Например, Azure уже имеет эту функцию в своих службах приложений, которая гарантирует нулевое время простоя в ваших приложениях,
Настройка промежуточных сред для веб-приложений в Службе приложений Azure / Microsoft Docs[
^]. Таким образом, пользователи всегда получают последнюю версию приложения, Azure сама управляет балансировкой нагрузки.
Sajid227
очень коротко, я понял вашу точку зрения: это означает, что без использования кэширования мы можем загружать файлы и т. д., И это будет доступно всем пользователям всех экземпляров сразу после этого. Мы также будем использовать MS Azure,а что, если мы будем использовать кэш?
Afzaal Ahmad Zeeshan
Да, это происходит потому, что каждый пользователь будет перенаправлен к текущему экземпляру и получит свежую копию приложения; кэширование хранит старые файлы приложения, такие как HTML или CSS-файлы, которые требуют жесткой перезагрузки (удаления кэширования), чтобы получить новое приложение.
В таком случае поделитесь со мной, что это за приложение (веб-приложение, веб-API, серверная служба, виртуальная машина, что?), чтобы я мог подробно рассказать вам об этом случае.
Sajid227
это в основном веб-приложение,но в то же время оно интегрируется с веб-сервисами,чтобы извлекать и передавать данные другим приложениям, хотя я очень четко понимаю свой вопрос.но вы дадите мне несколько советов,которые помогут мне разработать план развертывания этого приложения, прежде чем перейти в облако.
Afzaal Ahmad Zeeshan
Ах, тогда приложение уже, кажется, находится в хорошем потоке обработки. :-)
Для проектов развертывания:
1) Убедитесь, что у вас активны слоты развертывания и что свежий код помещается в этот слот, а не в производственный. Благодаря этому каждый раз ваше приложение будет запускаться до того, как оно будет допущено к потреблению; устраняется любое время простоя.
2) рассмотрите возможность использования балансировщиков нагрузки, отличных от тех, которые предусмотрены, для достижения еще лучшего решения.
3) хотя это и не обязательно, но использование различных центров обработки данных также повысит производительность вашего приложения.
4) кэширование может быть сделано, но для статического контента; например, для страниц about me или статических файлов JavaScript. Azure также предоставляет услуги CDN.
Кроме этого, я верю, что вы не столкнетесь с проблемами.
Sajid227
Пачка благодарностей и извинений за эту долгую болтовню....
Afzaal Ahmad Zeeshan
Без проблем. :-)