.NET распределил миграцию грид-вычислений, рекомендации на библиотеках, [закрытая] архитектура

В то время как встроенное освобождает для парсинга XML, довольно хороши, я неравнодушен к lxml.

, Но для парсинга каналов RSS, я рекомендовал бы Универсальный Синтаксический анализатор Канала , который может также проанализировать Atom. Его основное преимущество состоит в том, что это может переварить даже большую часть уродливой подачи.

Python 2.6 уже включает синтаксический анализатор JSON, но более новое версия с улучшенной скоростью доступно как simplejson.

С этими инструментами, создающими Ваше приложение, не должно быть настолько трудным.

7
задан m3ntat 4 August 2009 в 11:35
поделиться

1 ответ

Я бы исследовал возможность использования пространства для этого используется архитектура .

Мастер будет записывать задания в пространство (по сути, репозиторий объектов). Клиенты-потребители всегда ищут работу, и по мере того, как вакансии становятся доступными, они будут извлекать из этого пространства, обрабатывать и записывать результаты обратно в это или другое пространство (все в рамках транзакции). Вы бы пометили задания как принадлежащие определенному прогону, чтобы сгруппировать результаты.

Преимущество этого состоит в том, что это очень легко масштабируется (просто добавляя больше потребителей). Потребители должны будут определить, когда они могут работать, и им просто нужно будет настроить информацию о пространстве (как его найти). Производитель полностью изолирован от множества потребителей.

Поскольку работа обрабатывается в рамках транзакции, если потребителю не удается завершить работу, работа возвращается в пространство и становится доступной для обработки другим потребителем.

Вы можете легко обрабатывать промежуточные результаты. Производитель получает результаты из пространства и может получать промежуточные результаты по мере их появления. Вы можете легко отменить задания. Просто удалите их из пространства.

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

К сожалению, я не уверен, какие фреймворки доступны для .Net (я из мира Java и будет использовать Javaspaces - они используют динамическое обнаружение и почти не требуют настройки). Но стоит погуглить. Возможно (если это достаточно мощно), вы можете написать производителя / потребителей C # для взаимодействия с инфраструктурой Javaspace.

3
ответ дан 7 December 2019 в 16:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: