AppSharding

Продукт для создания и поддержки высокодоступных шардированных приложений
25 ноября
17:00

HighLoad++

Service Mesh Big Survey. Провели обзор текущих подходов к построению Service Mesh совместно с разработчиками Synapse

Узнать больше
19 ноября
17:00

Joker 2022

Proxyless Service Mesh for gRPC Java Services. Поговорили о микросервисах и паттернах Service Mesh. Что это такое и для чего придумано?

Узнать больше
22 сентября
12:00

Saint HighLoad++

Евгений Лукин, Chief IT manager из команды Synapse, описал кейс успешной замены иностранной шины данных в Сбере

Узнать больше
13 мая
13:10

HighLoad++ Foundation

Максим Чудновский, TechLead из команды Synapse, выступил на HighLoad++ Foundation с докладом «Istio Service Mesh в федеративных топологиях»

Узнать больше
29 апреля
16:15

Synapse на Habr

О чём нужно помнить при создании мультикластерных сервисов в Kubernetes
Узнать больше

Как AppSharding помогает вам

Load distribution
Распределение нагрузки на приложение или базу данных

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

Reliability
Построение георезервированных кластеров

Возможность построения георезервированных кластеров высокой доступности

Uninterrupted availability
Перенос данных без недоступности

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

Adaptability
Поддержка различных стратегий шардирования

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

Горизонтальное масштабирование наборов данных

Легко реализуемое горизонтальное масштабирование наборов данных с сохранением стратегии шардирования

Поддержка любого уровня тенантной изоляции

Возможность создания сервисов с различным уровнем тенантной изоляции

Multi-tenancy
Поддержка мультитетантности с требуемым уровнем изоляции

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


Шардирование на уровне приложений обеспечивает поддержку создания приложения с шардами, поддерживающими различные уровни обслуживания.

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

Cost reduction
Сокращение затрат при сохранении уровня обслуживания

Снижение стоимости размещения сервисов на платформе при сохранении требуемого уровня обслуживания потребителей сервиса

Коммунальное размещение данных

Возможность создания сервисов с коммунальным размещением данных тенантов для снижения расходов

Usability
Неограниченное количество используемых шард

Возможность использования приложениями любого количества шард в отрыве от конкретного вендора

Возможности конфигурации

Предоставляет возможность настройки как с помощью файлов конфигурации (концепция Everything-As-A-Code), так и с помощью удобного АРМ пользователя

Архитектура и как это работает

Application Router (APPR)

Application Router

Выступает в роли Application Load Balancer и проксирует запросы L7 в сконфигурированную группу развертывания (Availability Zones – AZ) для определенной инсталляции

Route EFS (RTEF)

Route EFS

Компонент предназначен для определения актуального маршрута (FQDN) на основе ключа шардирования, полученного от APPR, а также заранее сконфигурированных гибких стратегий маршрутизации

Cross-cluster index (CCI)

Cross-cluster index

Ведение распределенного индекса - реестра соответствий ключей шардирования и кодов шардов.

Поддерживает:

  • Получения кода шарда по запросу
  • Изменение записей в индексе
  • Первичная загрузка индексов
  • Автоматическое удаление ключей из индекса
Data Transfer (ASDT)

Data Transfer

Оркестрирует перенос ваших данных между шардами приложения при использовании механизма AppSharding, а также помогает:

  • Упростить миграцию данных между шардами
  • Гибко распределять данные между шардами вашего приложения с использованием Cross-cluster index (CCI)
  • Плавно переносить данные с одной версии приложения на другую
Обсудите свои задачи с экспертом
Узнайте больше и начните учиться
Оставьте заявку на создание проекта в SberCloud