Рубрики
Без рубрики

Введение в платформу обработки данных Scramjet

Новый двигатель для приложений для обработки данных без сервера. Наши приложения Scramjet Data Engine имеет … с меткой JavaScript, TypeScript, BigData, Serverless.

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

Наш Engine Apps Data Data имеет свой подход к развертыванию и запуску приложений без серверов; В нескольких аспектах, отличных от решений в таких областях, как программные шины, интеграционные платформы и предложения FAAS. Эта статья объясняет наш подход. Мы надеемся, что вам это интересно.

” 3 в 1 дюйм платформе обработки данных

Сердце нашего решения и его механизм данных называются «центр преобразования скраджников». Он доступен в качестве автономного программного пакета на GitHub и станет основным элементом нашей облачной платформы Scramjet.

Мы называем наш подход «3 в 1 платформу обработки данных», поскольку он объединяет 3 понятия в одно решение:

  • Двигатель обработки данных
  • Без сервера приложения данных
  • Завершите API с выделенным CLI (охватывая как конечные точки ввода -вывода, так и управление)

Давайте посмотрим на каждую точку отдельно.

Двигатель обработки данных

Hub Scramjet Transform создает единый план развертывания, времени выполнения, управления и выполнения для приложений без серверов (последовательности).

Короче говоря, STH позволяет запустить обработку данных в 3 простых шагах:

Развертывать

si sequence send 

Бежать

si sequence run 

Отправить данные

curl -H "Content-Type: application/octet-stream" — data-binary "@file.txt" 

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

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

Мы подготовили короткую 3-минутную демонстрацию, показывающую всю подготовку приложения (последовательность), развертывание и запуск процесса на нашем канале YouTube. Проверьте это ниже:

Без сервера приложения данных

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

Каждая последовательность имеет прямую структуру – это каталог, по крайней мере, с двумя основными файлами:

  • Package.json – простой файл json описывает метаданные последовательности
  • Индекс. [JS/TS] – JavaScript или файл TypeScript с кодом последовательности. Вы можете структурировать свое приложение в нескольких файлах, если хотите.

Ниже существует содержание одной из наших последовательностей «Hello World», что дает целое число чисел.

const {DataStream} = require("scramjet");
​
module.exports = async function(stream, start = 0, end = 1000) {
 await DataStream.from(async function*() {
 let i = +start || 0;
 while(i++ < end) {
 await new Promise(res => setTimeout(res, 1000));
 yield {x: i};
 }
 })
 .do(console.log)
 .run()
}

Вы можете найти Intro Readme и больше образцов в нашем выделенном репозитории Scramjetorg/Scramjet-Cloud-Docs

API и CLI

Давайте посмотрим на API Transform Hub через команды, доступные в нашем CLI:

  • Pack [Параметры] – каталог пакетов с кодом последовательности в файл tar.gz
  • хост [Команда] – Мониторинг и проверьте версию хоста
  • config | c [Команда] – отображать и управлять конфигурацией
  • Последовательность | SEQ [Команда] – Пакет, развертывание, управление и мониторинг (шаблоны приложений)
  • экземпляр | Inst [Command] – Управление и мониторинг экземпляров (запущенные приложения)

Вышеуказанные команды (и связанные с ними API) охватывают полное управление двигателем обработки данных и без сервера, работающих над ним. После начала каждый работающий экземпляр раскрывает следующие конечные точки API:

  • ввод, вывод
  • stdin, stdout, Stderr
  • журнал, мониторинг
  • _Event (к экземпляру), событие (из экземпляра)
  • Остановись, убей

Этот подход следует за подходом «батареи, включенные», и каждый беговой экземпляр обрабатывается таким же образом.

Почему наша облачная платформа Scramjet

Наш подход, показанный выше, имеет несколько преимуществ:

  • Свобода и гибкость – нет искусственных ограничений на размер данных и время выполнения приложений; Нет «ограничения по времени выполнения» или «ограничение размера полезной нагрузки».
  • Отличная цена для эффективных рабочих процессов данных с полностью программируемым сбором данных, способность создавать шаблоны между экземплярами, выполняющими различные задачи обработки данных.
  • Производительность по дизайну – мгновенное выполнение данных без прокси, очередей и шлюзов. Легкие приложения с минимальным потреблением ресурсов.
  • Работает поперечный (Edge & Cloud)-из коробки, охватывающей между местами. Запустите один и тот же тип приложений на крае или интеллектуальных устройствах через автономный концентратор преобразования Scramjet и в нашей облачной платформе Scramjet.

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

Оригинал: “https://dev.to/scramjetorg/introduction-to-scramjet-data-processing-platform-5bof”