Кэширование ролей в 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
Другие вопросы по тегам