Поделиться через


Общие сведения об архитектуре

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

Обзор Шина обслуживания для Windows Server

Шина обслуживания для Windows Server — это набор устанавливаемых компонентов Windows, реализующих функции Service Bus для обмена сообщениями, аналогичные Service Bus. Шина обслуживания для Windows Server поддерживает построение, тестирование и выполнение слабо связанных приложений, основанных на обмене сообщениями, в самостоятельно контролируемых средах и на компьютерах разработчиков. Очереди Service Bus обеспечивают надежное хранение и извлечение сообщений, а также возможность выбора протоколов и API. Разделы Service Bus, основанные на тех же принципах, что и очереди, обеспечивают обширную функциональность публикации и подписки, позволяющую многим подписчикам независимо друг от друга работать с отфильтрованным или неотфильтрованным представлением потока публикуемых сообщений.

Стек платформ Шина обслуживания для Windows Server

Шина обслуживания для Windows Server основывается на Microsoft Платформа .NET Framework 4,0 PU3, Windows Server 2008 R2, SQL Server 2008 R2 и База данных SQL, а также Windows PowerShell 3.0. Все эти платформы должны работать в 64-разрядных ОС. Уровень хранения в системе (SQL) можно выделить на удаленный сервер или оставить на одном из вычислительных узлов либо в База данных SQL Windows Azure. Вычислительные узлы, которые используют этот стек, могут размещаться локально или в Windows Azure IAAS.

На следующем рисунке представлен стек платформ Шина обслуживания для Windows Server.

Архитектура сервера

Процессы и модель выполнения

На следующем рисунке представлена логическая модель работы сервера Шина обслуживания для Windows Server. У каждого сервера Шина обслуживания для Windows Server есть три ключевых процесса: шлюз Service Bus, брокер сообщений Service Bus и Фабрика Windows. Все процессы на сервере размещаются как службы Windows NT.

Вы можете объединить набор серверов в "ферму" высокого уровня доступности.

Архитектура сервера

Варианты связи внутри фермы

Так как ферма серверов Шина обслуживания для Windows Server имеет высокий уровень доступности, в ней идет межпроцессное взаимодействие, охватывающее локальный и удаленные компьютеры.

  • Процесс шлюза Service Bus — это служба без состояния, способная общаться с брокером сообщений на локальном и удаленных компьютерах в ферме.

  • Брокер сообщений Service Bus на каждом компьютере регистрируется в службе Windows Fabric (на том же компьютере). Это подтверждает его доступность для служб Windows Fabric.

  • Службы Windows Fabric на каждом компьютере держат связь друг с другом для формирования высокодоступного кольца.

Шлюз Service Bus

Все входящие запросы от клиентов сначала принимаются и обрабатываются шлюзом Service Bus. Реализация протокола обрабатывает запросы и выполняет необходимые операции проверки подлинности, авторизации и разрешения адресов. Затем запрос переадресуется нужному брокеру сообщений. В ряде случаев клиент затем связывается с брокером сообщений напрямую. Следующая диаграмма показывает поток связи со шлюзом Service Bus:

Архитектура сервера

Клиенты могут использовать Net.TCP или REST через HTTP в качестве протокола связи с сервером Шина обслуживания для Windows Server.

Взаимодействие через Net.TCP

Когда клиент Net.TCP отправляет запрос шлюзу, тот определяет узел (контейнер сообщений) нужного объекта, например очереди, раздела или подписки. Затем служба переадресует запросы подходящему брокеру сообщений Service Bus (локальному или удаленному), у которого работает контейнер сообщений.

Режим переадресации сообщений поддерживается только для запросов Net.TCP. В этом режиме после проверки подлинности и авторизации клиент может запросить у шлюза адрес брокера сообщений Service Bus. Затем клиент может напрямую взаимодействовать с брокером сообщений Service Bus. Это устраняет лишнюю необходимость в маршрутизации всех запросов через шлюз.

Взаимодействие через REST

Когда клиент отправляет запрос шлюзу по протоколу REST через HTTP, служба шлюза определяет узел (контейнер сообщений) нужного объекта, например очереди, раздела или подписки. Затем служба переадресует запросы подходящему брокеру сообщений Service Bus (локальному или удаленному), у которого работает контейнер сообщений. При взаимодействии через REST не поддерживается переадресация сообщений.

Брокер сообщений Service Bus

Брокер сообщений — это служба NT, включающая реализации протоколов и контейнеры сообщений. Служба регистрируется в Windows Fabric и служит ведущей для службы контейнера сообщений.

На следующей схеме показано логическое представление службы брокера сообщений Service Bus.

Архитектура сервера

Жизненный цикл службы NT — это основа выявления сбоев и обеспечения высокого уровня доступности.

Контейнер сообщений

Контейнер сообщений можно рассматривать как логическое объединение рабочей логики и постоянного хранилища (базы данных SQL). В случае отработки отказа или балансировки нагрузки модульность контейнера сообщений позволяет его переместить. Каждый контейнер основан на хранилище (базе данных SQL), где размещается набор очередей, разделов и подписок. Размещение контролируется простым круговым алгоритмом управления емкостью. Такие объекты в контейнере, как очереди, разделы и подписки, нельзя перемещать, они остаются в контейнере и связанной с ним базе данных. Все данные о состоянии контейнера также хранятся в базе данных.

Windows Fabric

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

Высокий уровень доступности

Шина обслуживания для Windows Server поддерживает высокий уровень доступности. Высокий уровень доступности включает два следующих аспекта:

  • Вычисления

  • Хранилище

Уровень вычислений

Шина обслуживания для Windows Server — это сервер высокого уровня доступности. Для достижения этого уровня сервер полагается на Windows Fabric. Чтобы обеспечить высокий уровень доступности, Шина обслуживания для Windows Server требуется три компьютера. Топологии, в которых меньше трех компьютеров, не поддерживают высокий уровень доступности.

На следующей схеме показано стабильное состояние фермы из трех компьютеров с тремя контейнерами сообщений.

Архитектура сервера

Если служба NT брокера сообщений непредвиденным образом перезапускается или завершает работу или же узел полностью перезагружается, соответствующие контейнеры сообщений автоматически перемещаются на другие компьютеры в составе фермы. Контейнеры сообщений продолжают обслуживать запросы с небольшим перерывом в случае отработки отказа.

Архитектура сервера

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

Шина обслуживания для Windows Server автоматизирует добавление новых компьютеров в ферму. Он также автоматизирует повторную конфигурацию фермы для обеспечения высокого уровня доступности. Для автоматизации сервер автоматически включает удаленный совместный доступ к принтерам и файлам.

Уровень хранилища

Шина обслуживания для Windows Server не предоставляет машинной поддержки высокого уровня доступности на уровне хранилища. Вы можете использовать собственное решение, например зеркальное отображение SQL.

Дата сборки:

2013-07-25