Кэширование ролей в Windows Azure и общий кэш
У нас есть веб-сайт в Azure, и мы хотим кэшировать его содержимое. Приложение, которое будет обновлять содержимое, будет находиться за пределами Azure. Мы получили этот сценарий, работающий с Shared Cache. Однако совместное кэширование считается устаревшей функцией, поэтому мы хотели взглянуть на альтернативные решения, в том числе с использованием кэширования по ролям. Кэшируемый контент очень маленький, не должен превышать 1 МБ и будет потребляться кодом C#.
Мы могли бы использовать совмещенный кеш внутри веб-ролей или выделенный кеш, используя рабочую роль.
Вопросы, которые у нас были с использованием кеша в ролях:
Как можно обновить совмещенный кеш из внешнего приложения?
Если бы был способ обновить совмещенный кеш из внешнего приложения, уведомления кеша могли бы использоваться для аннулирования всех совмещенных узлов кеша, правильно?
Сейчас мы используем очень маленькие экземпляры веб-ролей. Нужно ли нам переходить на маленькие / средние экземпляры?
Целевое кэширование лучше для нашего сценария?
Заранее спасибо.
1 ответ
После проведенных исследований и руководствуясь ответами Саймона в SO-теме, о которой он уже упоминал, вот мои ответы:
- В: Как можно обновить совмещенный кеш из внешнего приложения?
A: Я бы выставил публичную конечную точку на вашей веб-ролике, которая очистила бы кеш. И я бы назвал эту конечную точку из ваших внешних приложений (эта конечная точка может быть службой, URL-адресом отдыха и т. Д.). В качестве альтернативы, бросьте сообщение в очередь, и ваши Webroles будут отслеживать эту очередь и очищать элемент из кэша, когда они получат сообщение в очереди. В любом случае, вы реализуете свой собственный механизм уведомления
Q: Если бы был способ обновить совмещенный кеш из внешнего приложения, уведомления кеша могли бы использоваться для аннулирования всех совмещенных узлов кеша, правильно?
A: Я не верю в это. Конечные точки к совместно расположенному кешу являются строго внутренними.
Вопрос: Сейчас мы используем очень маленькие экземпляры веб-ролей - нужно ли нам переходить на маленькие / средние экземпляры?
A: Да. Я считаю, что Colocated кеш поддерживается в Small и выше. Вам нужно будет попробовать это, чтобы увидеть, сколько оперативной памяти вы получаете против того, сколько осталось, и имеет ли это какое-либо значение для вашего основного приложения
Q: Кэширование лучше для нашего сценария?
- A: Кэшированный выделенный или колокейшн на самом деле о нагрузке. Достаточно ли у вас нагрузки на кеш и на серверы приложений, чтобы оправдать перемещение кеша в отдельную роль? Проверьте эту статью для рекомендации Microsoft: http://msdn.microsoft.com/en-us/library/windowsazure/hh914129.aspx