Как определить правила для блока масштабирования Wasabi Azure в моем коде? - PullRequest
2 голосов
/ 25 января 2012

Я думаю об использовании блока Wasabi для автоматического масштабирования моего приложения Azure. Похоже, правила должны быть жестко заданы в XML-файле.Это беспокоит меня, потому что правила, которые я хочу для своего приложения, требуют довольно сложной метрики, которую мне придется вычислять внутри моего кода.

Так же, как безумный пример, предположим, что мое приложение генерирует поток случайных чисел - нулии единицы - и каждый экземпляр вычисляет количество «единиц» в строке и количество «нулей» в строке.Я хочу увеличить масштаб, когда любой экземпляр сталкивается с десятью или более последовательными «единицами», и уменьшить масштаб, когда любой экземпляр сталкивается с десятью или более последовательными «нулями».

Я могу обнаружить такие ситуации в своем коде без проблем, но какзаставить васаби реагировать на них и масштабировать приложение?

1 Ответ

2 голосов
/ 29 января 2012

Для этого вам нужно реализовать CustomOperand и связанный с ним Custom DataCollector. http://msdn.microsoft.com/en-us/library/hh680912(v=pandp.50).aspx

Пример этого есть в примере приложения TailSpin. Я хотел бы начать с просмотра класса ActiveSurveysDataPointsCollector и вернуться обратно оттуда (пользовательский операнд использует экземпляр IDataPointCollector, а затем на операнд ссылаются, как и на все другие операнды, из правил XML.

Вы реализуете метод public IEnumerable Collect (DateTimeOffset collectionTime) , и здесь вы захотите взглянуть на ваш поток битов или какой-то другой флаг, который установлен вашим создателем потока битов , Нет никакого способа передать сигнал Васаби синхронно; у вас всегда будет метод Collect, который будет выполняться и извлекать эту информацию из вашего приложения (или вычислять ее тогда и там).

...