Несколько Azure установленных антивирусом виртуальных машин должны быть подписаны на Azure очередь сообщений с использованием модели Peeklock - PullRequest
0 голосов
/ 22 января 2020

Мы установили sophos на несколько Azure Linux виртуальных машин. Установленный pip, azure служебная шина sdk и используя приведенный ниже код, мы можем использовать сообщение, когда оно поступает в очередь.

from azure.servicebus import QueueClient, Message # Create the QueueClient
queue_client = QueueClient.from_connection_string("<connectionstring>", "taskqueue") # Receive the message from the queue with queue_client.get_receiver() as queue_receiver: 
messages = queue_receiver.fetch_next(timeout=3)
for message in messages:
    print(message)
    message.complete() 

Как мы точно подписываем несколько AV-серверов на очередь сообщений, используя peek lock модель. Пиковая блокировка гарантирует, что если первая виртуальная машина AV Linux заберет сообщение и начнет сканирование, сообщение должно оставаться заблокированным только для этой конкретной виртуальной машины, ни одна другая виртуальная машина не должна ее поднять.

  1. Можем ли мы это сделать? опрос на основе событий с использованием SDK. Целесообразно ли выполнять непрерывный опрос.
  2. Как настроить модель Peek Lock - Когда приходит сообщение, любая виртуальная машина с AV-сканированием должна использовать это сообщение и заблокировать его, чтобы любая другая виртуальная машина не принимала .
  3. Хотя существует несколько виртуальных машин с антивирусным сканированием, только одна должна принять сообщение. Должны ли мы использовать очередь служебной шины / topi c. Конечная цель: виртуальные машины AV должны быть подписаны на служебную шину

Ответы [ 2 ]

0 голосов
/ 11 февраля 2020

Теперь работает: как нам точно подписать несколько AV-серверов на очередь сообщений, используя модель Peek Lock. Пиковая блокировка гарантирует, что если первая виртуальная машина AV Linux заберет сообщение и начнет сканирование, сообщение должно оставаться заблокированным только для этой конкретной виртуальной машины, никакая другая виртуальная машина не должна ее принять.

1.Можем ли мы выполнить событие? на основе опроса с использованием SDK. Желательно ли проводить непрерывный опрос .- Да, мы можем проводить опрос на основе событий. Мы настроили длительный опрос. 2.Как мы устанавливаем модель Peek Lock. Когда приходит сообщение, любая виртуальная машина с AV-сканированием должна использовать это сообщение и заблокировать его, чтобы любая другая виртуальная машина не принимала. - Выполнено с использованием Azure служебной шины SDK. python код, прикрепленный ниже. Хотя существует несколько виртуальных машин с AV-сканированием, только одна должна принять сообщение. Должны ли мы использовать очередь служебной шины / topi c. Конечная цель: виртуальные машины AV должны быть подписаны на служебную шину - Пока выполняется несколько обращений к службам, сценарии на нескольких виртуальных машинах продолжают опрос. Доступная ВМ занимает и завершает сканирование.

0 голосов
/ 30 января 2020

1 - Хотя очереди хранения еще не поддерживают события, Service Bus поддерживает сетку событий , но в настоящее время находится только на уровне Premium.

Также в в случае служебной шины SDK по умолчанию использует AMQP, который использует полнодуплексное открытое соединение.

2 & 3 - Для хранения в очереди, когда один получатель получает сообщение, это сообщение становится невидимым для другие получатели до определенного времени ожидания c. Подробнее о параллелизме в службе очереди в документации .

Для служебной шины вы можете использовать режим peek-lock для достижения того же. В этом случае вы также можете возобновить блокировку для отложенных процессов.

...