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


Проектирование для масштабируемости

Масштабируемость — это возможность приложения обслуживать дополнительную нагрузку с линейным увеличением использования ресурсов. Масштабируемость важна в любом распределенном приложении. Ограничения масштабируемости обычно связаны с использованием ресурсов и непреднамеренно созданными зависимостями в проектировании приложения.

В следующем списке описываются проблемы масштабируемости и предлагаются решения.

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

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

  • Сходство клиентов. Две ситуации сходства могут быть непреднамеренно созданы приложением: ситуация, когда приложение зависит от состояния от данных, от которых клиент отправляет запрос; и ситуация, когда приложению требуется состояние конкретного клиента. Избегайте проектирования зависимости состояния между клиентом и приложением.

  • Сходство сервера. Приложение COM+ может ограничить масштабируемость, создав сходство сервера, где приложение зависит от того, как перейти на определенный серверный компьютер для получения информации. Это сходство может происходить со многими приложениями, ориентированными на базу данных. Лучший способ избежать узких мест на сервере — секционировать данные на различных серверах. Например, разделяйте данные клиента между серверами по наиболее часто доступу к ключу или охватывайте базу данных клиента на нескольких серверах с помощью фамилии клиента (например, Server1: a-f, Server2: g-m, Server3: n-z).

    Примечание.

    Секционирование данных может значительно усложнять логику программирования и выполняться только после того, как другие варианты повышения масштабируемости были проверены.

     

  • Время существования объекта. Чтобы быть масштабируемым, приложение COM+ должно уделять пристальное внимание продолжительности жизни объектов. Хотя объект существует, он потребляет ресурсы. Важно убедиться, что время существования объектов, удерживающих на дорогих ресурсах, тщательно управляется. Для объектов с высоким спросом, которые не используют дорогостоящие ресурсы, пул объектов COM+ может увеличить масштабируемость, так как можно административно настроить значения пула, чтобы воспользоваться любым оборудованием, которое может быть установлено. И это естественный способ управления подключениями: например, если у вас есть лицензия на 20 подключений SQL, вы можете диктовать это с помощью параметра Max Pool.

  • Группирование компонентов приложения. Чтобы повысить масштабируемость приложения COM+, компоненты среднего уровня должны быть разделены на службы, зависящие от времени и времени. Это позволяет сосредоточиться на возможном использовании службы Microsoft Windows для реализации необходимых действий компонента. Например, вы можете использовать службу, например очередь сообщений или компоненты COM+, чтобы обрабатывать асинхронные задачи независимо от времени.

Проектирование для доступности

Проектирование для развертывания

Проектирование для обеспечения безопасности