Как бороться с EventHub, полным плохих сообщений? - PullRequest
0 голосов
/ 01 февраля 2019

Я использую EventHub -> Функция Azure -> Azure SqlDatabase.

В EventHub 32 раздела и включено масштабирование до 20.Функция есть и всегда будет единственной, использующей концентратор событий в приложении Function.Поэтому я полагаю, что при этом я получаю максимальную доступность и пропускную способность, когда это необходимо.

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

Итак, как мне исправить ошибку?

  • У меня есть EventHub, заполненный 'trash».
  • У меня есть функция, вызываемая «безумно» и тратящая деньги на попытки обработки плохих сообщений.
  • У меня есть БД, выдающая сотни исключений, потребляющая 100% ЦП и даже не отвечающая на sp_who [...]
  • И у меня растет PoisonHub.

[Я не хочу, чтобы все эти сообщения собирались в EventHub]

Как начать?

  1. Запретить EventHub получать новые сообщения, пока отправитель не будет зафиксирован
  2. Остановить функцию, чтобы я не потреблялэти сообщения
  3. Может быть, масштабировать БД, чтобы она отвечала, и я могу убить некоторые процессы.

Хорошо, но теперь у меня остановлена ​​вся структура, что уже ужасно, иEventHub полон мусора, который будет выставлять счета за ненужные байты.

Некоторые из «решений», которые я видел вокруг:

  • Создайте новый EventHub, которыйочень странное «решение»;
  • Разверните пустую функцию Azure доИзвлеките корзину и обновите контрольную точку Eventhub;
  • Вручную измените смещение хранилища для всех 32 разделов.
  • Просто исправьте отправителя EvenHub и отпустите его ...

Ну, я не удовлетворен этим.Есть ли лучший способ справиться с этим?

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