Проектирование отказоустойчивых распределенных информационных систем. Для студентов - страница 3
Итак, еще раз перечислим и кратко охарактеризуем модели ПУ:
1 Распределенная файловая система обозначение – «Distributed File System»; достоинство – Относительно простая модель;
цель: обеспечить прозрачный доступ удаленных пользователей к файловой системе;
пример: NFS.
2 Удаленный вызов процедур
обозначение – «Remote Procedure Call (RPC)»;
цель: обеспечение прозрачности удаленного исполнения кода;
особенности функционирования:
– реализация процедуры находится на сервере;
– клиент передает параметры процедуры;
– сервер исполняет процедуру и возвращает результат
– некоторая потеря производительности;
– весь сетевой обмен скрыт от процесса.
3 Распределенные объекты
обозначение – «Distributed Objects:»; особенности функционирования:
– каждый объект реализует интерфейс;
– интерфейс содержит методы, реализуемые объектом;
– процесс видит только интерфейс;
– наиболее популярные технологии распределенных объектов в настоящее время:
– Microsoft DCOM;
– OMG CORBA
– Java RMI.
4 Распределенные документы
обозначение «Distributed Documents»;
– реализация: World Wide Web
– цель: Прозрачность размещения документов; особенности функционирования:
– ссылки связывают документы;
– содержимое не ограничено текстовой информацией. Кратко сформулируем задачи промежуточного уровня:
– обеспечение интероперабельности;
– обеспечение безопасности;
– обеспечение целостности данных;
– балансировка нагрузки;
– обнаружение удаленных компонент.
Чтобы достигнуть цели своего существования – улучшения выполнения запросов пользователя – распределенная информационная система должна удовлетворять некоторым необходимым требованиям.
Можно сформулировать следующий набор требований, которым в наилучшем случае должна удовлетворять РИС.
Открытость. Все протоколы взаимодействия компонент внутри распределенной системы в идеальном случае должны быть основаны на общедоступных стандартах. Это позволяет использовать для создания компонент различные средства разработки и операционные системы. Каждая компонента должна иметь точную и полную спецификацию своих сервисов. В этом случае компоненты распределенной системы могут быть созданы независимыми разработчиками. При нарушении этого требования может исчезнуть возможность создания распределенной системы, охватывающей несколько независимых организаций.
Масштабируемость. Масштабируемость вычислительных систем имеет несколько аспектов. Наиболее важный из них – возможность добавления в распределенную систему новых компьютеров для увеличения производительности системы, что связано с понятием балансировки нагрузки (load balancing) на серверы системы. К масштабированию относятся так же вопросы эффективного распределения ресурсов сервера, обслуживающего запросы клиентов.
Поддержание логической целостности данных. Запрос пользователя в распределенной системе должен либо корректно выполняться целиком, либо не выполняться вообще. Ситуация, когда часть компонент системы корректно обработали поступивший запрос, а часть – нет, является наихудшей.