Подтвердить что ты не робот

Как заставить Redis работать на Azure?

Я видел несколько ссылок на людей, которые запускали Redis на Azure, но не было никакой реализации или какого-либо "howto" на нем. Кто-нибудь видел такой пример?

4b9b3361

Ответ 1

  • Загрузите Redis для Windows - см. раздел "Redis Service builds for Windows" на https://github.com/ServiceStack/ServiceStack.Redis. Я закончил использование версии win64 от dmajkic https://github.com/dmajkic/redis/downloads
  • Создайте роль рабочего Azure, удалите класс по умолчанию (вам вообще не нужен код С#). Добавьте файл redis-server.exe из загруженного источника redis (exe можно найти в redis/src).
  • В файле определения службы добавьте следующую конфигурацию

    <WorkerRole name="my.Worker" vmsize="Small">
      <Runtime executionContext="limited">
        <EntryPoint>
          <ProgramEntryPoint commandLine="redis-server.exe" setReadyOnProcessStart="true" />
        </EntryPoint>
      </Runtime>
      <Imports>
        <Import moduleName="Diagnostics" />
        <Import moduleName="RemoteAccess" />
        <Import moduleName="RemoteForwarder" />
      </Imports>
      <Endpoints>
        <InternalEndpoint name="Redis" protocol="tcp" port="6379" />
      </Endpoints>
    </WorkerRole>
    
  • Вы можете ссылаться на сервер redis из своей веб-роли, используя следующие

    var ipEndpoint = RoleEnvironment.Roles["my.Worker"].Instances[0].InstanceEndpoints["Redis"].IPEndpoint;
    host = string.Format("{0}:{1}", ipEndpoint.Address, ipEndpoint.Port);
    

Надеюсь, что это поможет.

Ответ 3

FYI, вышеупомянутый проект Redis on Windows от MS Open Tech теперь доступен для установки Azure, что упрощает получение Redis и запуск на роль рабочего PaaS. Вот подробный учебник: http://ossonazure.interoperabilitybridges.com/articles/how-to-deploy-redis-to-windows-azure-using-the-command-line-tool (Полное раскрытие: я нахожусь в команде MS Open Tech.)