- PVSM.RU - https://www.pvsm.ru -
nopCommerce [1] – это движок для создания интернет-магазинов с открытым исходным кодом и написанный на ASP.NET MVC. Разрабатывается проект нашими соотечественниками из города Ярославль, и на сегодняйшний день на его основе работает более 20,000 сайтов, включая такие бренды как Volvo, Turkish Airlines, Reebok.
Несколько дней назад вышла новая версия продукта 3.70, в которой разработчики добавли полную поддержку Windows Azure. В предыдущих версий владельцы магазинов могли использовать только один instance в Azure, теперь же была добавлена поддержка нескольких. Следовательно, по сути этот функционал можно использовать на веб фермах. Это открываем нам отличные возможности для масштабирования приложения.
Предположим, что вы уже скачали (http://www.nopcommerce.com/downloads.aspx [2]) и установили (http://docs.nopcommerce.com/display/nc/Installing+nopCommerce [3]) nopCommerce в Azure. Итак, что же было сделано для поддержки Azure, и как все это настроить и включить:
Теперь вы можете настроить хранение ресурсов (например, изображения продуктов и категорий) как BLOB-объектов, а не просто хранить на файловой системе, как это сделано по-умолчанию. Более подробно о службе хранилищ в Azure можно почитать тут (https://azure.microsoft.com/ru-ru/documentation/articles/storage-introduction/ [4]).
Как настроить в nopCommerce:
Разумеется, в любом распределенном приложении нам надо иметь поддержку распределенного кеширования и сессий. Иначе различные экземпляры приложения будут использовать разные данные. Мы выбрали Redis (http://redis.io/ [6]) для реализации этого функционала, так как Azure и многие другие облачные сервисы уже поддерживают его.
Как настроить в nopCommerce:
<sessionState mode="Custom" customProvider="MySessionStateStore">
<providers>
<add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="localhost" accessKey="" ssl="true" />
</providers>
</sessionState>
И последний шаг. nopCommerce использует фоновые задачи для различные действий, которые должны выполняться автоматически. Например, отправка почты или обновление курсов валют. Разумеется, когда у нас несколько экземпляров (instance) приложения, то такие задачи должны выполняться только на одном из них. Иначе может случиться ситуация, когда одно и тоже письмо придет покупателю дважды (от каждого из экземляра приложения).
nopCommerce
Все также откроем web.config файл. Найдем XML элемент «WebFarms” и установим его атрибут “MultipleInstancesEnabled” в “True”. Для веб фермы этого будет достаточно, но в Windows Azure там же потребуется установить атрибут «RunOnAzureWebsites» в «True»
Вот и все. Теперь nopCommerce готов в полноценной работе в Azure на нескольких экземплярах (instance). Вы больше не должны думать о том, хватит ли серверной мощности, чтобы обслуживать большое количество покупателей.
Автор: Microsoft
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/cms/111429
Ссылки в тексте:
[1] nopCommerce: http://www.nopcommerce.com/
[2] http://www.nopcommerce.com/downloads.aspx: http://www.nopcommerce.com/downloads.aspx
[3] http://docs.nopcommerce.com/display/nc/Installing+nopCommerce: http://docs.nopcommerce.com/display/nc/Installing+nopCommerce
[4] https://azure.microsoft.com/ru-ru/documentation/articles/storage-introduction/: https://azure.microsoft.com/ru-ru/documentation/articles/storage-introduction/
[5] https://azure.microsoft.com/ru-ru/documentation/articles/storage-create-storage-account/: https://azure.microsoft.com/ru-ru/documentation/articles/storage-create-storage-account/
[6] http://redis.io/: http://redis.io/
[7] https://azure.microsoft.com/ru-ru/documentation/articles/cache-dotnet-how-to-use-azure-redis-cache/: https://azure.microsoft.com/ru-ru/documentation/articles/cache-dotnet-how-to-use-azure-redis-cache/
[8] Источник: https://habrahabr.ru/post/276641/
Нажмите здесь для печати.