VMware Pivotal GemFire

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:42, 30 января 2019.
VMware Pivotal GemFire
Pivotal-gemfire-8-logo.png
Pivotal-Dashboard.png
Панель управления GemFire
Создатели: VMware, Inc., Pivotal Software, Inc.
Разработчики: VMware, Inc., Pivotal Software, Inc.
Выпущена: May 2013; 6 years ago (2013-05)
Постоянный выпуск: 8.2.1 / May 5, 2016 (2016-17-05)
Операционная система: Linux, Windows, Solaris
Локализация: Английский
Тип ПО: IaaS, PaaS
Лицензия: Проприетарное
Веб-сайт pivotal.io

Pivotal GemFire - платформа приложений и данных, являющаяся результатом сотрудничества VMware и Pivotal. Сервис предоставляет хорошо управляемую, гибкую и безопасную инфраструктуру для данных и приложений, виртуализированных в среде VMware. Для этого этих целей задействовано множество публичных, приватных и гибридных облаков. Pivotal Gemfire, ранее известный как VMware vFabric GemFire, на данный момент является частью портфолио продуктов Pivotal.

Система совместима с форматом JSON-документы, языками C#, C++ и Java, Memcached-клиентами.

Pivotal Gemfire является распределенной платформой управления данными. Сервис разработан для множества разнообразных ситуаций по управлению данными, особенно полезен для высокообъемных (англ. high-volume), чувствительных к задержке, критически важных (англ. mission-critical) транзакционных систем. Имеет API для параллельного WAN. Поддерживается возможность HTTP управления сессиями для веб-серверов Apache Tomcat или Pivotal.

Содержание

Обзор

Производитель заявляет о следующих возможностях сервиса:

Гибкое управление данными в оперативной памяти (англ. In-memory data management)

Современные веб-ориентированные приложения оперируют большими объемами данных и к тому же развернуты в виртуализированной облачной среде. Традиционные базы данных становятся узким местом производительности, когда они не могут поддерживать высокие требования в производительности и не способны гибко масштабироваться при необходимости.

Для решения проблемы такого рода данные хранятся и обрабатываются напрямую в оперативной памяти. Это позволяет существенно увеличить скорость вычислений. Таким образом, Pivotal GemFire обеспечивает скорость и динамическую масштабируемость без ущерба для возможностей корпоративного класса, поддерживая высокую доступность, надежность и управляемость.

Высокопроизводительное управление данными на уровне облака

Рисунок 1 – Архитектура сервиса

Pivotal GemFire - это распределенная платформа управления данными. Вся инфраструктура сервиса находится в вычислительном облаке (см. Рис. 1), что обеспечивает динамическую масштабируемость, высокую производительность и устойчивость настоящей базы данных. Также, это сочетается с такими продвинутыми техниками управлениями классическими базами данных, как репликация, секционирование, data-aware маршрутизация и непрерывное осуществление запросов. Всё это помогает в выполнении следующих задач:

Достижение высокой производительности плюс надежность уровня базы данных

In-memory устройство Pivotal GemFire и архитектура без разделения ресурсов (Shared Nothing Architecture) исключает возможность точечных сбоев, при этом обеспечивая очень высокую производительность. Продвинутый алгоритм логирования диска управляет многочисленными копиями данных на диске с минимальным влиянием на производительность. Также, благодаря сложному механизму восстановления, сбои диска или отдельных нод не подвергнут риску согласованность данных.

Масштабируемость без ущерба производительности

Сервис осуществляет динамическое разделение данных, распределение функционала приложения, автоматическую перебалансировку данных и непрерывную балансировку нагрузки клиента.

Упрощение процесса разработки

Pivotal GemFire API имеет возможность интеграции с популярным фреймворком Spring. Это позволяет упростить процесс разработки, а также предоставить встроенную поддержку масштабируемости для транзакционных веб-приложений. Для этих целей был создан проект Spring Data GemFire, который предоставляет специфичные шаблоны кода для быстрой и простой интеграции.

Продвинутый механизм кэширования для пользователей Tomcat и Hibernate

Pivotal GemFire может разгружать и управлять состоянием HTTP сессии веб-серверов. Это может быть Apache Tomcat, Pivotal tc Server - корпоративная версии VMware Tomcat, оптимизированная для Java Spring пользователей, и другие сервера приложений. Pivotal GemFire управляет множеством сессий, обеспечивая при этом высокую доступность и масштабируемость – особенно полезные возможности для веб-приложений, которые необходимо расширять для удовлетворения спроса.

Сервис Pivotal GemFire также обеспечивает быстрое, масштабируемое и распределённое L2 кэширование для фреймворка Hibernate. По заявлению разработчика, такой подход позволяет увеличить производительность и при этом уменьшить сетевой трафик.

Ключевые особенности и функциональные возможности

VMware Pivotal GemFire имеет множество функциональных возможностей для обеспечения поставленных системой задач.

Мониторинг и управление

Для пользователей командной строки, Pivotal GemFire Shell (‘gfsh’) обеспечивает мощный интерфейс для управления развертываниями Pivotal GemFire. С помощью gfsh может производиться запуск и остановка Pivotal GemFire серверов, настройка частей (members) кластера, а также просмотр статистики. И это не полный список сервисов, доступ к которым может осуществляться посредством gfsh[Источник 1].

HTML5 панель управления

Рисунок 2 – Панель управления

Контроль за текущим состоянием всего развертывания Pivotal GemFire осуществляется через графическую панель управления (см. Рис. 2). Упрощенная JMX модель с федеративной архитектурой MBeans предоставляет пользователю общий вид распределенной системы Pivotal GemFire – интегрированной с gfsh и новой панелью управления. Поддерживается возможность HTTP управления сессиями для Tomcat и Pivotal tc Server.

Управление данными

Для управления данными используются несколько различных подходов, которые позволяют обеспечить широкие возможности масштабирования

Parallel Disk Persistence модель хранения данных

Данная модель без разделения ресурсов обеспечивает устойчивость для любого блока данных: секционированного или реплицированного. Это позволяет всем вашим операционным данным безопасно “жить” в Pivotal GemFire, существенно уменьшая затраты, возлагая хранение базы на архив сервиса. Для увеличения эффективности обработки данных применяется In-memory обработка данных.

Возможности по масштабированию

Масштабируемость достигается путем динамического секционирования данных через множество нодов и распределения загруженности данных по всем серверам. Для горячих данных система может быть динамически расширена, чтобы иметь больше копий данных. Обработка подписок разделена, чтобы разрешить доступ еще большему количеству подписчиков с даже меньшей задержкой, чем раньше. Клиенты связываются напрямую с каждым сервером данных однократно, увеличивая возможности для доступа тонких клиентов в 2-3 раза. Требуемое поведение приложения также может быть предусмотрено, а затем направлено для запуска распределенным способом в непосредственной близости от необходимых данных.

Совмещение транзакций для повышения пропускной способности

Множественные транзакции могут выполняться одновременно через несколько разделенных регионов. Это увеличивает общую производительность системы. В дополнение к согласованным копиям данных в памяти через сервера и узлы, приложения могут синхронно или асинхронно сохранять данные на диск на одном или более узлов.

Непрерывная доступность

Модель без разделения обеспечивает очень высокий уровень доступности данных. VMware Pivotal GemFire обеспечивает низкую и предсказуемую задержку доступа.

Совместимость

Pivotal GemFire совместима с несколькими языками и может хранить документы в распространённом формате JSON. Кроме того, система совместима с Hibernate.

Pivotal GemFire может хранить JSON документы вместе с объектными или ключ-значение данными. Для разработчиков, пишущих мобильные и другие приложения, это очень полезно. Некоторые из возможностей, обеспечиваемых для JSON документов, включают в себя способность совершать запрос внутри и через JSON документы, осуществлять федеративный доступ с поддержкой соединений через JSON и ключ-значение хранилища, а также поддержка транзакций.
  • C#, C++ и Java приложения
C#, C++ и Java приложения могут обмениваться бизнес объектами с любым другим, написанными на другом языке программирования, без совершения преобразований, таких как SOAP или XML.
Естественная поддержка Memcached клиентов используя Gemcached. Поддерживается возможность использования любого Memcached клиент для подключения к Pivotal GemFire. Pivotal GemFire прослушивает Memcached клиенты на специальном порте.
  • Hibernate
Предусмотрена возможность L2 кэширования для Hibernate

vFabric GemFire 7.0.0

vFabric GemFire 7.0.0 включает следующие изменения и улучшения:

Новый WAN API

vFabric GemFire 7.0 вводит новое API для параллельного WAN. Новая версия также упрощает настройку и развёртывание WAN, вводит линейное масштабирование для распределённых событий через WAN. Разработчик может настроить развёртывание WAN, определяя один или более шлюзов в распределённых системах, которые распространяют события по WAN, и с помощью определения получателей сообщений шлюзов в системах, которые получают эти события. Следующие улучшения и изменения применяются к развёртыванию приложений, которые используют новый WAN API:

Параллельная отправка в шлюзах

Реализует множественные секции (англ. partitions) для того, чтобы синхронно распространять события к удалённой точке WAN. По мере того как разработчик добавляет участников GemFire в качестве хостов дополнительных секций, увеличивается пропускная способность для передачи информации по WAN с помощью создания дополнительных параллельных отправителей (англ. senders) шлюзов для этих участников. Каждый отправитель сохраняет порядок только для тех секций данных, которые он обрабатывает. Если требуется сохранить порядок событий для региона в целом, существует возможность использовать последовательный отправитель шлюза, за счёт меньшей пропускной способности для передачи информации по WAN.

Определяемые пользователем фильтры для обработки событий

Приложения, использующие GemFire 7.0, которые применяют новый WAN API могут реализовать определяемые пользователем фильтры для определения того, какие события распространяются через WAN, и сжать или зашифровать передаваемые события.

Согласованность в конечном итоге для обновлений в регионе

По умолчанию, все экземпляры, использующие GemFire WAN, также используют функции согласованности для регионов Gemfire 7.0 для того, чтобы гарантировать, что регионы, которые распространяются через WAN в конечном итоге достигнут согласованного состояния. Реализация согласованности по умолчанию для распространения через WAN использует механизм временных отметок (англ. timestamp) для определения того, следует ли применить обновления региона от точки (англ. site) GemFire к локальной системе. Другим вариантом является возможность устранения конфликтов с помощью определения устранителя (англ. resolver) для определения того, следует ли применить WAN-событие, которое может повлечь несогласованность в регионе[Источник 2].

Переработанная система управления и мониторинга

vFabric GemFire 7.0 значительно упрощает управление и мониторинг распределённых систем vFabric GemFire. В отличие от предыдущих систем управления и мониторинга, GemFire 7.0 интегрирует мониторинг напрямую с помощью процессов GemFire и добавляет возможность управлять этими процессами используя ту же самую систему. Теперь разработчик может получать метрики напрямую от управляемых узлов, без необходимости устанавливать и настраивать отдельный процесс мониторинга. Новая система управления и мониторинга использует объединённую стратегию Open MBean для распространения информации о состоянии участников и стабильности системы в централизованный сервер MBean.

Единообразный интерфейс

Существенным изменением является переработка GemFire SHell ('gfsh'). В VMware Pivotal GemFire разработчик может использовать интуитивно понятный интерфейс командной строки gfsh для того, чтобы запустить или остановить работу серверов и локаторов GemFire; для настройки участников; для просмотра метрик; для создания и распространения регионов; для установки JAR динамически через участников; для обнаружения и отладки гонки данных; для управления хранилищами дисков; для импорта и экспорта снимков данных.

Новый инструмент мониторинга GemFire Pulse

GemFire Pulse – это новая инструментальная панель, основанная на веб-браузере, которая позволяет разработчику видеть и контролировать текущий статус всего состояния GemFire. Разработчику предоставляется возможность видеть всю инструментальную панель распределённой системы, следить за её состоянием (health), и исходя из этого исследовать с помощью просмотра участников и регионов. GemFire Pulse заменяет инструмент GFMon.

Список источников

  1. vFabric GemFire Features // vmware.com. [2016—2017]. Дата обновления: 02.12.2018. URL: https://www.vmware.com/ru/products/pivotal-gemfire.html#features (дата обращения: 02.12.2018).
  2. vFabric GemFire 7.0.0 Release Notes//vmware.com. [2016—2017]. Дата обновления: 02.12.2018. URL: https://www.vmware.com/support/vfabric-gemfire/doc/vfabric-gemfire-rn-7.0.0.html#whatsnew  (дата обращения: 02.12.2018).