Рационализация согласованности в облаках

       

Архитектура


На рис. 1 показана общая архитектура, которую мы позаимствовали из . Клиенты подключаются через Internet к одному из серверов приложений. Серверы приложений работают в "облачной" среде поверх службы виртуальных машин Amazon Elastic Computing Cloud (EC2). Кроме того, в этой архитектуре в одной системе объединяются серверы баз данных и приложений, а для постоянного хранения данных используется Amazon Simple Storage Service. Следовательно, страницы данных хранятся в S3, и данные выбираются прямо из сервера приложений аналогично тому, как если бы имелась база данных с общими дисками. Чтобы координировать записи в S3, на каждом сервере приложений поддерживает набор протоколов. Протоколы, представленные в , разработаны в многоуровневом стиле, и на каждом уровне повышается уровень согласованности. В качестве индексной структуры используется B-дерево, которое также сохраняется в S3.

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

Рис. 2. Базовый протокол



Содержание раздела