Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-1.

Презентация:



Advertisements
Похожие презентации
К построению и контролю соблюдения политик безопасности распределенных компьютерных систем на основе механизмов доверия А. А. Иткес В. Б. Савкин Институт.
Advertisements

Название системы - iTest Текущая версия Официальный сайт - Лицензия -GPL v2 Компоненты системы iTestServer серверная.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
EJB Local Interface Кряжев Василий
Рассматриваемые темы Подсистема безопасности сервера приложений Конфигурация безопасности в EJB Сервисы авторизации и аутентификации в Java 2-1.
1 ГОУ ВПО Тульский государственный университет Начальник отдела информационной безопасности. Серегин Денис Витальевич.
Тренировочное тестирование-2008 Ответы к заданиям КИМ Часть I.
Тема 11 Медицинская помощь и лечение (схема 1). Тема 11 Медицинская помощь и лечение (схема 2)

НАЧАТЬ ТЕСТ по КИТ2 Разработчики: Оскерко В.С., доцент, к.э.н. Панько Н.Г., студентка ДФФ-1, 2-й курс 2011 г.

Рассматриваемые темы Технология EJB Типы EJB Вызов EJB Сборка и развертывание EJB- приложения 2-1.
Типовые расчёты Растворы
ENTERPRISE JAVABEANS 3.0 STATEFUL & STATLESS SESSION BEANS.
ЗРИТЕЛЬНЫЕ ИЛЛЮЗИИ ОПТИЧЕСКИЕ ОБМАНЫ 1. Зрительная иллюзия – не соответствующее действительности представление видимого явления или предмета из-за особенностей.

Проектирование клиент-серверных информационных систем Южно-Уральский государственный университет Факультет «Экономика и предпринимательство» Кафедра «ИНФОРМАЦИОННЫЕ.
Маршрутный лист «Числа до 100» ? ? ?
Департамент экономического развития Ханты-Мансийского автономного округа - Югры 1.
Транксрипт:

Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-1

Введение в Кластеринг Кластер – группа скоординированных серверов, предоставляющих: Доступность (HA) Расширяемость Load balancing Что такое Кластер? 2-2

Кластеризованный компонент – интерфейс или API, доступный на множестве серверов в кластере Возможен кластеринг для: Web-приложений EJB и RMI-объектов Дерева JNDI JDBC-подключений JMS фабрики подключений Введение в Кластеринг Кластеризованные компоненты 2-3 Возможность кластеризации того или иного компонента зависит от сервера приложений

Представление, бизнес-логика и объекты объединены в одном кластере Введение в Кластеринг Простая кластерная архитектура 2-4

Web-часть и часть бизнес-логики могут быть разделены на два кластера Введение в Кластеринг 2-5 Многоуровневая кластерная архитектура

Серверы в кластере «общаются» между собой по протоколу IP: UDP (multicast) – для связи «один-ко- многим» внутри кластера TCP-сокеты – для peer-to-peer связи между двумя серверами Введение в Кластеринг Связь серверов в кластере 2-6

Используется для: Обновлений кластерного JNDI «Пульс» кластера Ограничения: IP-multicast ограничивает кластер одной физической подсетью Брандмауэр может препятствовать передаче IP-multicast пакетов Введение в Кластеринг Связь «один-ко-многим» в кластере 2-7

Каждый сервер в кластере анонсирует следующие события: Новый объект добавлен в дерево имен Объект удален из дерева имен Объект обновлен в дереве имен Введение в Кластеринг Кластерный JNDI 2-8

Используется для: Обращений к некластеризованным объектам на другом сервере кластера Репликации состояния HTTP-сессии и Stateful Session Bean между первичным и вторичным серверами Обращение к кластеризованным объектам в другом кластере Введение в Кластеринг Связь «один-к-одному» в кластере 2-9

Обычно сервера приложений реализуют балансировку нагрузки и failover для EJB Stateful session EJB используют репликацию сессии для failover реализации Кластеринг EJB прозрачен для разработчика EJB и для разработчика клиентского приложения Введение в Кластеринг Кластеринг EJB 2-10

Failover и балансировка нагрузки для EJB реализуется с помощью репликационной заглушки (replica- aware stub) Заглушка генерируется во время компиляции Введение в Кластеринг Репликационная заглушка 2-11

Необходимо четко различать: Балансировку нагрузки между вызовами метода Failover в случае неудачи выполнения операции Введение в Кластеринг Важное различие 2-12

Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-13

Репликационные заглушки для Stateless Session EJB могут пересылать различные вызовы метода на различные сервера кластера Кластеринг Stateless EJB Кластеризуемые Stateless session EJB 2-14

Stateful Session EJB одного типа эквивалентны, поэтому: EJB на различных серверах также эквивалентны Различные вызовы метода могут быть отправлены на различные сервера Это не применимо к неудавшимся вызовам методов Кластеринг Stateless EJB Балансировка нагрузки и failover 2-15

Репликационные заглушки должны определять ошибки выполнения на основании полученных исключений: Ошибка приложения Системная ошибка Ошибка связи/сети Кластеринг Stateless EJB Ошибочные состояния 2-16 Некритичные ошибки: приложение может их обработать Ошибка связи/сети появится в случае падения сервера, контейнера или скелетона

Метод идемпотентен, если два его последовательных вызова с одинаковыми параметрами дают один результат Математическая версия: Кластеринг Stateless EJB Идемпотентные методы 2-17 f(x) = y => f(f(x)) = y

Пример: int x,i = 6; // Идемпотентные операции x=i+1; x=i+1; // Неидемпотентные операции x=i++; x=i++; Кластеринг Stateless EJB Идемпотентные методы 2-18

Определенные типы методов идемпотентны: математические вычисления запросы к серверам имен выборки из баз данных Кластеринг Stateless EJB Реальная идемпотентность 2-19

Идемпотентны ли следующие операции: Метод, возвращающий список пользователей, находящихся на сайте? Метод, помещающий товар в корзину? Метод, получающий количество записей в таблице базы данных? Кластеринг Stateless EJB Реальная идемпотентность: упражнение 2-20

1.Клиент вызывает метод на репликационной заглушке 2.Заглушка вызывает репликационный обработчик (handler) для выбора серверной реплики (здесь может произойти балансировка нагрузки) 3.Заглушка вызывает метод на серверной реплике (т.е. посылает метод на сервер) Кластеринг Stateless EJB Последовательность вызова метода 2-21

Кластеринг Stateless EJB Обработка серверного вызова 2-22 Если ошибок не произошло, заглушка возвращает результат клиенту Если произошла ошибка приложения или системы, заглушка пробрасывает исключение клиенту Если произошла ошибка связи/сети: Вызов метода перенаправляется на другую реплику если метод идемпотентен Иначе ошибка пробрасывается клиенту

Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-23

Кластеринг Stateful EJB Проблема с Stateful Session bean 2-24 Т.к. каждый Stateful Session bean уникален, все вызовы заглушки должны быть направлены на сервер, содержащий данный bean Каждый Stateful bean «привязан» к серверу, на котором он создан. Его заглушка так же должна быть привязана к тому же серверу

Кластеринг Stateful EJB Балансировка нагрузки 2-25 Home заглушка может балансировать все вызовы create() на разные серверы

Кластеринг Stateful EJB Failover 2-26 Stateful bean может реплицироваться на «запасной» сервер Его заглушка переключится на запасной сервер в случае ошибки связи/сети Только в случае ошибки

Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-27

Конфигурация кластеринга Конфигурация 2-28 Конфигурация кластеринга производится в специфических для конкретного сервера приложений дескрипторах развертывания (deployment descriptor)

Рассмотренные темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-29

Практика Конфигурация кластера. Упражнение 2-30