Как Failover работает при перезапуске Primary VM Set? - PullRequest
0 голосов
/ 02 июня 2018

enter image description here

Выше приведен пример конфигурации Azure Service Fabric.

  1. Я создал с помощью мастера и развернул один AspПриложение ядра .net, к которому я могу получить доступ извне.

  2. Теперь, если вы посмотрите на изображение ниже, Service Fabric выполняет доступ с sfclustertemp.westus2.cloudapp.azure.com.,Я могу получить доступ к приложению с помощью sfclustertemp.westus2.cloudapp.azure.com/api/values.

  3. Теперь, если я перезапущу основной набор виртуальных машин, он должен перенести нагрузку на дополнительный, и у меня естьЯ подумал, что это должно быть сделано автоматически, но это не так, как Second Load Balancer имеет другое имя DNS.(Если я укажу другое имя DNS, тогда оно будет доступно).

Я понимаю, что у cluser один идентификатор, поэтому он является общим для обоих балансировщиков нагрузки.

Возможна ли такая конфигурация?

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Существует неправильное представление о том, что такое кластер SF.

На вашей диаграмме часть, которую вы описываете слева как «Service Fabric», там не принадлежит.

Service Fabric - это не что иное, как приложения и службы, развернутые в узлах кластера, когда высоздав кластер, вы определяете тип основного узла , который будет там, где сервисная структура развернет сервисы, используемые для управления кластером.

Тип узла будет сформирован из:

  • A Scale Set: машины с установленными службами OS и SF
  • Балансировщик нагрузки с dns и IP, переадресациязапросы к VM Scale Set

То, что вы там описываете, должно быть представлено как:

NodeTypeA (Primary)
    Load Balancer (cluster domain + IP)
        VM Scale Set
            SF management services (explorer, DNS)
            Your applications
NodeTypeB
    Load Balancer (other dns + IP)
        VM Scale Set
            Your applications

Учитывая, что:

  • первая проблема заключается в том, что если основной узел выйдет из строя, вы потеряете свой кластер, поскольку службы управления не будут доступны для управления экземплярами ваших служб.

  • секунда: вы не должныДля этого типа надежности следует полагаться на типы узлов, поэтому вы должны повысить надежность своего кластера, добавив больше узлов к типам узлов.

  • в-третьих: если проблема заключается в простое центра обработки данных,Вы можете:

    • Создать собственный кластер, который охватывает несколько регионов
    • Добавить обратный прокси-сервер или API-шлюз перед вашим сервисом для маршрутизации запроса везде, где вашуслуга.
0 голосов
/ 04 июня 2018

Возможно, вы могли бы использовать Azure Traffic Manager с датчиками работоспособности.

Однако, вместо использования нескольких типов узлов для параметров переключения при перезагрузке, взгляните на ' Уровни стойкости '.Использование Silver или Gold приведет к тому, что перезагрузки будут выполняться последовательно на группах компьютеров (сгруппированных по домену сбоя), а не на всех сразу.

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

...