Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемВладимир Чуканов
1 Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-1
2 Введение в Кластеринг Кластер – группа скоординированных серверов, предоставляющих: Доступность (HA) Расширяемость Load balancing Что такое Кластер? 2-2
3 Кластеризованный компонент – интерфейс или API, доступный на множестве серверов в кластере Возможен кластеринг для: Web-приложений EJB и RMI-объектов Дерева JNDI JDBC-подключений JMS фабрики подключений Введение в Кластеринг Кластеризованные компоненты 2-3 Возможность кластеризации того или иного компонента зависит от сервера приложений
4 Представление, бизнес-логика и объекты объединены в одном кластере Введение в Кластеринг Простая кластерная архитектура 2-4
5 Web-часть и часть бизнес-логики могут быть разделены на два кластера Введение в Кластеринг 2-5 Многоуровневая кластерная архитектура
6 Серверы в кластере «общаются» между собой по протоколу IP: UDP (multicast) – для связи «один-ко- многим» внутри кластера TCP-сокеты – для peer-to-peer связи между двумя серверами Введение в Кластеринг Связь серверов в кластере 2-6
7 Используется для: Обновлений кластерного JNDI «Пульс» кластера Ограничения: IP-multicast ограничивает кластер одной физической подсетью Брандмауэр может препятствовать передаче IP-multicast пакетов Введение в Кластеринг Связь «один-ко-многим» в кластере 2-7
8 Каждый сервер в кластере анонсирует следующие события: Новый объект добавлен в дерево имен Объект удален из дерева имен Объект обновлен в дереве имен Введение в Кластеринг Кластерный JNDI 2-8
9 Используется для: Обращений к некластеризованным объектам на другом сервере кластера Репликации состояния HTTP-сессии и Stateful Session Bean между первичным и вторичным серверами Обращение к кластеризованным объектам в другом кластере Введение в Кластеринг Связь «один-к-одному» в кластере 2-9
10 Обычно сервера приложений реализуют балансировку нагрузки и failover для EJB Stateful session EJB используют репликацию сессии для failover реализации Кластеринг EJB прозрачен для разработчика EJB и для разработчика клиентского приложения Введение в Кластеринг Кластеринг EJB 2-10
11 Failover и балансировка нагрузки для EJB реализуется с помощью репликационной заглушки (replica- aware stub) Заглушка генерируется во время компиляции Введение в Кластеринг Репликационная заглушка 2-11
12 Необходимо четко различать: Балансировку нагрузки между вызовами метода Failover в случае неудачи выполнения операции Введение в Кластеринг Важное различие 2-12
13 Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-13
14 Репликационные заглушки для Stateless Session EJB могут пересылать различные вызовы метода на различные сервера кластера Кластеринг Stateless EJB Кластеризуемые Stateless session EJB 2-14
15 Stateful Session EJB одного типа эквивалентны, поэтому: EJB на различных серверах также эквивалентны Различные вызовы метода могут быть отправлены на различные сервера Это не применимо к неудавшимся вызовам методов Кластеринг Stateless EJB Балансировка нагрузки и failover 2-15
16 Репликационные заглушки должны определять ошибки выполнения на основании полученных исключений: Ошибка приложения Системная ошибка Ошибка связи/сети Кластеринг Stateless EJB Ошибочные состояния 2-16 Некритичные ошибки: приложение может их обработать Ошибка связи/сети появится в случае падения сервера, контейнера или скелетона
17 Метод идемпотентен, если два его последовательных вызова с одинаковыми параметрами дают один результат Математическая версия: Кластеринг Stateless EJB Идемпотентные методы 2-17 f(x) = y => f(f(x)) = y
18 Пример: int x,i = 6; // Идемпотентные операции x=i+1; x=i+1; // Неидемпотентные операции x=i++; x=i++; Кластеринг Stateless EJB Идемпотентные методы 2-18
19 Определенные типы методов идемпотентны: математические вычисления запросы к серверам имен выборки из баз данных Кластеринг Stateless EJB Реальная идемпотентность 2-19
20 Идемпотентны ли следующие операции: Метод, возвращающий список пользователей, находящихся на сайте? Метод, помещающий товар в корзину? Метод, получающий количество записей в таблице базы данных? Кластеринг Stateless EJB Реальная идемпотентность: упражнение 2-20
21 1.Клиент вызывает метод на репликационной заглушке 2.Заглушка вызывает репликационный обработчик (handler) для выбора серверной реплики (здесь может произойти балансировка нагрузки) 3.Заглушка вызывает метод на серверной реплике (т.е. посылает метод на сервер) Кластеринг Stateless EJB Последовательность вызова метода 2-21
22 Кластеринг Stateless EJB Обработка серверного вызова 2-22 Если ошибок не произошло, заглушка возвращает результат клиенту Если произошла ошибка приложения или системы, заглушка пробрасывает исключение клиенту Если произошла ошибка связи/сети: Вызов метода перенаправляется на другую реплику если метод идемпотентен Иначе ошибка пробрасывается клиенту
23 Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-23
24 Кластеринг Stateful EJB Проблема с Stateful Session bean 2-24 Т.к. каждый Stateful Session bean уникален, все вызовы заглушки должны быть направлены на сервер, содержащий данный bean Каждый Stateful bean «привязан» к серверу, на котором он создан. Его заглушка так же должна быть привязана к тому же серверу
25 Кластеринг Stateful EJB Балансировка нагрузки 2-25 Home заглушка может балансировать все вызовы create() на разные серверы
26 Кластеринг Stateful EJB Failover 2-26 Stateful bean может реплицироваться на «запасной» сервер Его заглушка переключится на запасной сервер в случае ошибки связи/сети Только в случае ошибки
27 Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-27
28 Конфигурация кластеринга Конфигурация 2-28 Конфигурация кластеринга производится в специфических для конкретного сервера приложений дескрипторах развертывания (deployment descriptor)
29 Рассмотренные темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-29
30 Практика Конфигурация кластера. Упражнение 2-30
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.