Azure AppService Autoscale на основе входящих сообщений EventHubs - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть приложение .Net, размещенное в качестве службы приложений Azure (веб-работа), которое читает из одного концентратора событий и выполняет некоторые действия с этими сообщениями.Это приложение не привязано к процессору или памяти, вместо этого я хочу основывать масштабирование на количестве входящих сообщений в концентратор событий.

Просматривая показатели входящих и исходящих сообщений для концентратора событий, я определил, чтоприложение может обрабатывать около 12 тыс. сообщений в минуту на каждый экземпляр.

Но я не понимаю, как сделать это в настройке автоматического масштабирования.Учитывая вышесказанное, я попытался установить его, чтобы увеличить количество экземпляров на 1, когда входящие сообщения превышают 10000. Однако ничего не происходит, если входящие сообщения, как видно в разделе «Метрики для концентраторов событий», составляют около 45000, а количество экземпляров - 3. Я ожидаю, что оноувеличить, но это не так.Почему?

Вот как выглядят мои настройки масштаба:

{
    "scaleAction": {
        "direction": "Increase",
        "type": "ChangeCount",
        "value": "1",
        "cooldown": "PT5M"
    },
    "metricTrigger": {
        "metricName": "EHINMSGS",
        "metricNamespace": "",
        "metricResourceUri": "my eventhubs",
        "operator": "GreaterThan",
        "statistic": "Average",
        "threshold": 10000,
        "timeAggregation": "Average",
        "timeGrain": "PT1M",
        "timeWindow": "PT5M"
    }
},
{
    "scaleAction": {
        "direction": "Decrease",
        "type": "ChangeCount",
        "value": "1",
        "cooldown": "PT5M"
    },
    "metricTrigger": {
        "metricName": "EHINMSGS",
        "metricNamespace": "",
        "metricResourceUri": "my eventhubs",
        "operator": "LessThan",
        "statistic": "Average",
        "threshold": 1000,
        "timeAggregation": "Average",
        "timeGrain": "PT1M",
        "timeWindow": "PT5M"
    }
}

1 Ответ

0 голосов
/ 12 сентября 2018

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

Подробнее можно прочитать здесь: https://medium.com/@jeffhollan/in-order-event-processing-with-azure-functions-bb661eb55428

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...