Apache Fury добавляет оптимизированные сериализаторы для Scala
Apache Fury был обновлен для добавления нативных образов GraalVM и оптимизированных сериализаторов для коллекций Scala.

Sequin - это инструмент для захвата изменений и потоковой передачи данных из базы данных Postgres, гарантирующий однократную обработку. Что это значит?
Sequin использует журнал записи Postgres (WAL) для преобразования его в поток или очередь сообщений, обеспечивая более эффективную альтернативу Kafka и Simple Queue Service (SQS). Это означает, что вы можете:
реплицировать данные из существующих таблиц в другие приложения, базы данных, кэши, материализованные представления или внешние клиенты.
Создавать рабочие процессы обработки событий, например, запускать побочные эффекты при изменении данных в Postgres.
Это достигается путем мониторинга Postgres WAL для отслеживания изменений в строках вашей таблицы. Это можно делать на гранулярном уровне, фиксируя каждую операцию создания, обновления и удаления, или более эффективно - просто извлекая последнюю версию каждой строки.
В первом случае Sequin выступает в качестве замены:
а во втором - как замена:
В любом случае ему удается заменить многие случаи самостоятельной или сложной настройки, например, с использованием Kafka или Debezium, одним всеобъемлющим сервисом.
Для потоковой передачи данных с помощью Sequin вы создаете «последовательности» для каждой таблицы, которую вы хотите передавать, чтобы на другом конце вы могли использовать эти строки из последовательности с помощью клиентов, работающих с HTTP Push, например Webhooks, или HTTP Pull, например SQS. Sequin заботится и о клиентах, поскольку позволяет создавать их внутри платформы, гарантируя однократную обработку.
По этому поводу можно сказать, что хотя ни одна система не может гарантировать доставку «точно в один раз», доставка «хотя бы в один раз» и обработка «точно в один раз» могут работать вместе:
Обработка - это полный жизненный цикл сообщения: сообщение было доставлено получателю, получатель выполнил свою работу, а затем получатель подтвердил сообщение.
При таком определении SQS, Kafka и Sequin - это системы, которые гарантируют обработку точно в одно и то же время. Термин «обработка» включает в себя как доставку сообщения, так и его успешное подтверждение; «обработка точно в один раз» означает, что это система обмена сообщениями, в которой доставка и подтверждение происходят как минимум один раз.
Практически, при использовании Sequin :
Отклоняясь от обычной практики расширения функциональности Postgres с помощью расширений, Sequin предлагает образ Docker с веб-консолью/интерфейсом для настройки, который можно запустить рядом с базой данных Postgres. Он работает с любой базой данных Postgres версии 12+ и выше.
Конечно, это open source, поэтому самый простой способ начать работу - это взять файл docker/docker-compose.yaml из репозитория, который содержит экземпляр Postgres и Redis, а также сервер Sequin. Обратите внимание, что Sequin также предлагается в качестве облачного сервиса.
Поскольку Sequin написан на языке Elixir, существует также сопутствующий легкий Elixir SDK для отправки, получения и подтверждения сообщений в потоках Sequin. Используя его, пример отправки, получения и подтверждения сообщений в потоках Sequin выглядит следующим образом:
Я оставил самые интересные функции, которые еще предстоит анонсировать, - трансформации; то есть вы можете преобразовывать полезную нагрузку сообщений, написав функции на Lua, JavaScript или Go, прежде чем они будут доставлены вашим потребителям. Это полезно для преобразования данных в формат, более подходящий для принимающей стороны приложения.
То есть вместо того, чтобы конечная точка вашего приложения потребляла json в формате wal2json (выходящем из Sequin), вы можете написать код, который преобразует пакет в пользовательский формат, с которым ваше приложение сможет работать до того, как он выйдет из Sequin.
Напротив, мне пришлось пройти через трудности, когда я вручную реализовывал функциональность CDC/Webhook, которая включала сложный конвейер триггеров, событий базы данных и кода преобразования Perl под управлением Ingres dbms, чтобы преобразовать и манипулировать данными, собранными SQL-запросами, в пакеты HL7, прежде чем они автоматически отправлялись в веб-сервис в конце конвейера. То есть GUI/App-->Enter Data-->SQL-->HL7-->Web Service, автоматически при вводе значения. Прочитайте статью «Connecting To The Outside World with Perl and Database Events», если хотите узнать, как это было сделано.
В заключение можно сказать, что Sequin - это универсальное решение, которое избавляет вас от необходимости реплицировать и синхронизировать данные, транслировать события, распределять рабочие нагрузки и разделять сервисы.
превращая Postgres в непрерывный поток, и, что самое важное, поток, который живет вместе со своими данными.
Apache Fury был обновлен для добавления нативных образов GraalVM и оптимизированных сериализаторов для коллекций Scala.
Компания Apollo добавила более простой способ интеграции REST API в объединенную среду GraphQL.
Это облегчает пользователям поиск популярных песен с концертов.