Архитектура распределенных систем: клиент-сервер и кластерные решения
Первоочередной задачей при проектировании распределенной системы является определение типов ресурсов, подлежащих распределению. Если требуется разделение вычислительных мощностей, рассматривается архитектура «клиент-сервер» или системы распределенных вычислений. Для задач, связанных с обработкой и хранением больших объемов данных, анализируются возможности применения кластерных технологий. Выбор архитектуры напрямую влияет на производительность, масштабируемость и отказоустойчивость всей информационной системы.
Архитектура «клиент-сервер» основывается на принципе специализации компонентов информационной системы, разделяя их на два фундаментальных типа: сервер и рабочее место пользователя (Desktop). Сервер — это специализированное устройство или программное обеспечение, предназначенное для решения общих задач и предоставления ресурсов. Рабочее место пользователя включает компоненты, которые обслуживают конкретного пользователя, например, реализуя пользовательский интерфейс. Важно отметить, что эти роли не всегда выполняются полнофункциональными компьютерами; в качестве рабочего места может выступать банкомат, а сервером — специализированное устройство, такое как сервер печати.

Рис. 25. Общая схема сети банка иллюстрирует типичное взаимодействие компонентов в такой архитектуре.
Концепция сервера может трактоваться двояко: как мощный выделенный компьютер или как программа, реализующая определенную службу. В контексте распределенных систем под сервером чаще понимают программу, обеспечивающую независимое выполнение задачи, которая может функционировать как на выделенной машине, так и на рабочей станции. Выбирая архитектуру «клиент-сервер», необходимо определить перечень задач, переносимых на серверы, обычно это задачи, требующие общего доступа или значительных вычислительных ресурсов.
К наиболее распространенным типам серверов в информационных системах относятся несколько ключевых служб. Сервер домена является ядром сетевой операционной системы, определяя список пользователей, их права доступа и осуществляя мониторинг соединений. Файл-сервер предоставляет распределенный доступ к файлам, контролируя права на их использование. Сервер базы данных отвечает за хранение, обработку и доступ к структурированной информации, часто используя реляционную модель и язык запросов SQL; примерами таких СУБД (Систем Управления Базами Данных) являются Oracle, Microsoft SQL Server, DB2 и Sybase.
Другими критически важными сервисами являются интернет-сервер (например, Apache или IIS), который предоставляет информацию по правилам сети Интернет, и сервер приложений, выполняющий бизнес-логику специализированных систем, например, банковских. Сервер архивации отличается собственными механизмами сжатия и индексации редко используемых данных, а сервер печати управляет очередями заданий на печать для общих принтеров. Каждый из этих серверов решает строго определенный круг задач, обеспечивая эффективность всей системы.
В архитектуре «клиент-сервер» также четко определяются задачи, решаемые на рабочих станциях (клиентах). Ключевой клиентской задачей является управление пользовательским интерфейсом, что включает обработку элементов вроде кнопок, полей ввода и списков. Эта задача является границей между архитектурой «клиент-сервер» и терминальным доступом. Другие распространенные клиентские функции включают выполнение офисных приложений для локального редактирования данных, управление локальной печатью персональных документов, а также случайную загрузку и выгрузку данных, требующую вмешательства пользователя.
В отличие от архитектуры «клиент-сервер», кластер состоит из независимых компонентов, которые совместно выполняют отдельные функции, представляя собой единую, но распределенную вычислительную систему. Решения на основе кластерной технологии предлагают ряд значительных преимуществ для построения высоконадежных и производительных систем. К ним относится абсолютная масштабируемость, позволяющая создавать кластеры любых размеров, и инкрементальная масштабируемость, дающая возможность наращивать мощность путем добавления новых компонентов без полной замены системы.
Важнейшими достоинствами кластеров являются устойчивость к сбоям и высокая отказоустойчивость: при выходе из строя одного узла система продолжает функционировать благодаря дублированию функций. Кроме того, кластеры обычно обеспечивают лучшее соотношение цена/производительность, так как используют распространенные и зачастую более доступные по цене компоненты вместо единственного сверхмощного и дорогого компьютера. Большинство современных операционных систем имеют встроенные решения для реализации кластеров, а поддержка этой архитектуры часто встроена в такие программные комплексы, как серверы баз данных и серверы приложений.

Рис. 26. Схема сети банка на основе кластерной технологии демонстрирует, как может быть организована такая система.
Сведения об авторах и источниках:
Авторы: Тютюнник А.В., Шевелев А.С.
Источник: Информационные технологии в банке
Публикации предназначены для ИТ-руководителей и топ-менеджеров коммерческих банков, а также для менеджеров компаний-разработчиков и консультантов. Материалы помогут профессионалам в организации и оптимизации управления информационными системами на всех этапах их жизненного цикла.
Дата добавления: 2025-09-30; просмотров: 62;











