Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Масштабируемость — это возможность приложения обслуживать дополнительную нагрузку с линейным увеличением использования ресурсов. Масштабируемость важна в любом распределенном приложении. Ограничения масштабируемости обычно связаны с использованием ресурсов и непреднамеренно созданными зависимостями в проектировании приложения.
В следующем списке описываются проблемы масштабируемости и предлагаются решения.
Ресурсы внутри компьютера. Количество доступных потоков и памяти может ограничить масштабируемость. Используйте модель потоков, которая наиболее эффективна для приложения.
Ресурсы между компьютерами. Количество доступных компьютеров для распределения рабочей нагрузки приложения может повлиять на масштабируемость.
Лояльность клиентов. Две ситуации зависимости могут быть непреднамеренно созданы приложением: когда приложение зависит от состояния данных, которые клиент отправляет со своим запросом, и когда приложению требуется клиент-специфическое состояние. Избегайте проектирования зависимости состояния между клиентом и приложением.
Привязка к серверу. Приложение COM+ может ограничить свою масштабируемость, создав привязку к серверу, где приложение зависит от доступа к конкретному серверному компьютеру для получения информации. Это сходство может происходить со многими приложениями, ориентированными на базу данных. Лучший способ избежать узких мест на сервере — секционировать данные на различных серверах. Например, распределяйте данные клиентов между серверами с помощью самого часто используемого ключа или распределяйте базу данных клиентов по нескольким серверам по фамилии (например, Server1: a-f, Server2: g-m, Server3: n-z).
Заметка
Секционирование данных может значительно усложнять логику программирования и выполняться только после того, как другие варианты повышения масштабируемости были проверены.
Время существования объекта. Чтобы быть масштабируемым, приложение COM+ должно уделять пристальное внимание продолжительности жизни объектов. Хотя объект существует, он потребляет ресурсы. Важно убедиться, что сроки существования объектов, удерживающих дорогие ресурсы, тщательно управляются. Для объектов с высоким спросом, которые не используют дорогостоящие ресурсы, пул объектов COM+ может увеличить масштабируемость, поскольку можно администрати́вно настроить значения пула, чтобы воспользоваться любым доступным у вас оборудованием. И это естественный способ управления подключениями: например, если у вас есть лицензия на 20 подключений SQL, вы можете диктовать это с помощью параметра Max Pool.
Группирование компонентов приложения. Чтобы повысить масштабируемость приложения COM+, компоненты среднего уровня должны быть разделены на службы, зависящие от времени, и службы, не зависящие от времени. Это позволяет сосредоточиться на возможном использовании службы Microsoft Windows для реализации необходимых действий компонента. Например, можно выбрать использование таких служб, как очередь сообщений или компоненты очереди COM+ для обработки асинхронных задач, не зависящих от времени.
Связанные разделы