Как динамически создавать параметризованные модули в kubernetes - PullRequest
0 голосов
/ 27 июня 2019

У меня есть веб-интерфейс, обрабатывающий веб-хуки и отправляющий сообщения бэкэнд-работнику.Эти сообщения принадлежат разным организациям, каждое сообщение имеет следующий формат:

class Message{
   int OrganizationId {get;set;}
   string Payload {get;set;}
} 

Сегодня серверная часть обработки реализована в виде веб-задания Azure.Webjob - это простое консольное приложение, перехватывающее сообщения, отправленные с внешнего интерфейса.Консольное приложение выводит список всех организаций, ожидающих в очереди, и создает поток для каждой из них, чтобы сообщения могли обрабатываться параллельно для каждой организации.

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

Несмотря на простоту настройки модуля, мы не можем найти способ автоматического и непрерывного обнаружения организаций в очереди сообщений и запуска контейнера с идентификатором организации в качестве параметра.

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

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