Моя рекомендация
Рабочее расстояние:
- Иметь приемник запросов, который помещает сообщения в очередь сообщений, например, rabbit mq
- Имейте множество рабочих, слушающих одну и ту же очередь, берущих из нее работу и подтверждающих ее выполнение.
- Когда закончите, отправьте сообщение в другую очередь, содержащее URI, в известное место, например на сетевой диск. Целью являются ваши проанализированные данные.
- Получатель прослушивает эти завершенные сообщения. Извлекает данные из URI.
Сделанный.
RabbitMQ поставляется с отличными API-интерфейсами CLR.
Те же рассуждения хорошо работают с Microsoft Azure и их AbbFabric Queue. Плюс в том, что очень хорошо масштабируется.
Горячее управление версиями
http://topshelf-project.com/
Он дает папку, куда можно закинуть бинарники, которые потом запускаются. Он управляет их версиями, а также запускает их как службы Windows.
Развертывание
Вы можете развернуть двоичные файлы с помощью robocopy/xcopy и сетевого использования Q: pwd \server\share, net delete Q:
Непрерывная интеграция
Teamcity
После интенсивной работы с MsBuild я бы рекомендовал написать сценарий с помощью psake и запустить сборку с помощью PowerShell. Если вы продвинулись в PowerShell, у вас также будет доступ к WinRM из ваших сценариев сборки, что очень удобно.
Используйте номер коммита git/subversion как 0.0.0.x, x в номере предыдущей версии, и вы получите автоматическое управление версиями, совместно используемое в сборках Debug/Production.
Лазурный путь
Рабочее расстояние:
То же, что и выше, но с очередью AppFabric вместо RabbitMQ.
Горячее управление версиями
Меняя местами промежуточные и производственные экземпляры, вы избегаете простоев.
Развертывание
Вы можете использовать инструменты Azure для задач MsBuild Visual Studio, как можно прочитать о здесь или вы можете использовать PowerShell AzureSnapIns с аналогичной настройкой, как указано выше, для непрерывной интеграции.
Непрерывная интеграция
То же, что и выше.
person
Henrik
schedule
19.01.2011