2010-09-14 3 views
1

Я хочу извлечь большой объем данных, часто из разных сторонних веб-сервисов API и хранить их в промежуточной области (именно это я хочу решить прямо сейчас), откуда он будет перемещаться один за другим по мере необходимости в базу данных моего приложения.Асинхронно вынимать данные из сторонних веб-сервисов на платформе Windows Azure

Я хотел знать, что я могу использовать платформу Azure для достижения вышеуказанного? Насколько хорошо использовать платформу Azure для этой задачи?

Что делать, если данные, которые нужно вытащить, имеют большое количество и частота вытягивания высока, то есть может быть полчасового или почасово для 2000 разных пользователей?

Я предполагаю, что если это вообще возможно, то пропускная способность, хранение данных и возможности сервера и т. Д. Не будут беспокоить меня, а для © Microsoft. И, очевидно, я должен иметь возможность обращаться к данным обратно всякий раз, когда мне это нужно.

Если бы мне пришлось реализовать его на серверах Windows, то я знаю, что для этого воспользуюсь службой Windows. Но я не знаю, как это можно сделать для платформы Windows Azure, если это вообще возможно?

ответ

1

Как заявил Ринат, вы можете использовать решение Локада. Если вы решите сделать это самостоятельно, вы можете запустить задание по времени в своей рабочей роли - возможно, создайте поток, который спит, просыпаясь каждые 30 минут, чтобы выполнить свою задачу. Затем он может обратиться к рассматриваемым веб-службам (или, возможно, к одному потоку на веб-службу?) И получить данные. Вы можете временно сохранить его в Azure Table Storage, что составляет часть стоимости SQL Azure (0,15 на ГБ), а затем легко прочитать его из хранилища таблиц по требованию и передать в SQL Azure.

Предполагая, что вы размещаете свои сервисы, хранилища и SQL Azure находятся в одном центре обработки данных (путем надлежащего определения соответствия), вы будете платить только за пропускную способность при извлечении данных из веб-службы. Плата за пропускную способность не будет взиматься с табличного хранилища или вставить в SQL Azure.

1

В Windows Azure это обычно роль рабочего, используемая для размещения облачной обработки. Для выполнения ваших задач вам нужно либо реализовать эту инфраструктуру обмена сообщениями/планирования, либо использовать что-то вроде Lokad.Cloud или Lokad.CQRS проектов с открытым исходным кодом для Azure.

Мы используем Lokad.Cloud для распределенной обработки BI сотен тысяч серий, а Lokad.CQRS позволяет надежно извлекать и синхронизировать миллионы продуктов по расписанию.

В обоих проектах есть образцы, документы и сообщества, чтобы вы начали.