Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Data Streams
  • Начало работы
    • Подготовка окружения
    • Создание потока данных
    • Сбор и поставка данных
      • Fluentd
      • Logstash
      • AWS CLI
    • Сохранение данных в ClickHouse
    • Обработка потока изменений из Debezium
  • Пошаговые инструкции
    • Все инструкции
    • Управление потоками данных
    • Работа с AWS CLI
      • Создание потока данных
      • Получение информации о потоке
      • Отправка данных в поток
      • Чтение данных из потока
      • Удаление потока данных
    • Работа с AWS SDK
      • Подготовка окружения
      • Создание потока данных
      • Отправка данных в поток
      • Чтение данных из потока
      • Удаление потока данных
  • Концепции
    • Обзор
    • Термины и определения
    • Cегменты и ключи сегментов
    • Квоты и лимиты
    • Сравнение с Yandex Message Queue
  • Практические руководства
    • Ввод данных в системы хранения
    • Умная обработка логов
    • Передача данных в микросервисных архитектурах
  • Управление доступом
  • Правила тарификации
  • HTTP API, совместимый с Amazon Kinesis Data Streams
    • Обзор
    • Методы
      • CreateStream
      • DecreaseStreamRetentionPeriod
      • DeleteStream
      • DescribeStream
      • IncreaseStreamRetentionPeriod
      • GetRecords
      • GetShardIterator
      • ListStreams
      • PutRecord
      • PutRecords
      • UpdateShardCount
    • Общие ошибки
    • Примеры
  • Вопросы и ответы
  1. Практические руководства
  2. Передача данных в микросервисных архитектурах

Передача данных в микросервисных архитектурах

Статья создана
Yandex Cloud
  • Преимущества
    • Надежность
    • Разное время жизни
    • Масштабирование
  • Сравнение с Apache Kafka®
  • Настройка

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

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

Преимущества

Надежность

Микросервисные архитектуры, как правило, являются распределенными. В распределенных архитектурах надежность является очень важным фактором. Поддержка в каждом приложении полной модели отказов — сложная задача, поэтому отказоустойчивыми делают инфраструктурные компоненты, а остальные приложения на них опираются и становятся отказоустойчивыми вслед за ними.

Разное время жизни

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

Масштабирование

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

Сравнение с Apache Kafka®

В таблице ниже приведено сравнение Data Streams с популярной шиной потоков данных Apache Kafka®.

Параметр Yandex Data Streams Apache Kafka®
Поддерживаемый протокол Amazon Kinesis Data Streams API Apache Kafka®
Поддерживаемые SDK HTTP, Java, C++, Go и другие HTTP, Java, C++, Go и другие
Стоимость Оплата за использование ресурсов: скорость, время хранения Оплата за резервирование ресурсов: виртуальные машины
Сложность эксплуатации Администрирование пользователем не требуется Система администрируется пользователем, Облако отвечает только за инфраструктуру
Масштабирование Без прерывания обслуживания (в данный момент доступно только масштабирование вверх) С прерыванием обслуживания на время перезапуска кластера
Интеграция в Облако Высокая: триггеры Cloud Functions, API Gateway и пр. Базовая
Безопасность Авторизация с помощью IAM-токена или ключа доступа Авторизация с помощью логина и пароля
Надежность Высокая, данные хранятся в трех зонах доступности Высокая, настраивается пользователем
Время доставки сообщений Менее секунды Менее секунды
Время хранения данных Задается при создании, 1-24 часа Ограничено емкостью дисков виртуальных машин
Настраиваемость Основные параметры Высокая, если настройки поддержаны в Облаке

Настройка

Чтобы настроить передачу данных между компонентами:

  1. Создайте поток данных Data Streams.
  2. Настройте AWS SDK.
  3. Используйте SDK:
    • Go.
    • C++.
    • Java.
    • JavaScript.
    • Python.
    • HTTP Kinesis Data Streams API.

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Преимущества
  • Надежность
  • Разное время жизни
  • Масштабирование
  • Сравнение с Apache Kafka®
  • Настройка