Фреймворк распределенной потоковой обработки Apache Samza обновлен до версии 1.5. Усовершенствования включают упрощенный рабочий процесс отправки заданий, который обеспечивает повышенную безопасность, и возможность перемещать контейнеры без перезапуска приложения.
Samza — это фреймворк с открытым исходным кодом, первоначально разработанный вместе с Kafka компанией LinkedIn, прежде чем он был сделан с открытым исходным кодом и передан Apache Software Foundation. Первоначально он был разработан, чтобы обеспечить простой способ разработки и выполнения заданий потоковой обработки, которые могут использоваться как непрограммистами, так и разработчиками. Он использует Apache Kafka для обмена сообщениями, Apache Hadoop YARN для обеспечения отказоустойчивости, изоляции процессора, безопасности и управления ресурсами и RockdDB для поддержки на местном уровне. Он имеет простой API-интерфейс обработки сообщений на основе обратных вызовов, сравнимый с MapReduce, и поддерживает управляемое состояние посредством создания снимков и восстановления состояния потокового процессора.
В этом выпуске добавлен API размещения контейнеров, что означает, что теперь вы можете перемещать или перезапускать один или несколько контейнеров (активных или резервных) кластерных приложений с одного хоста на другой без перезапуска приложения. API также можно использовать для создания инструментов обслуживания, балансировки и исправления.
Job Runner был упрощен и теперь просто отправляет задание Samza в Yarn RM без выполнения какого-либо пользовательского кода. Планирование заданий будет происходить вместо этого в ClusterBasedJobCoordinator. Разработчики говорят, что этот упрощенный рабочий процесс отвечает требованиям безопасности, когда необходимо изолировать отправку заданий для выполнения пользовательского кода. Это также упрощает жизнь там, где сбой развертывания может произойти в нескольких местах.
Samza теперь имеет лучшие возможности для управления и мониторинга локального состояния с добавлением метрик хранилища KV для RocksDB и исправлением, означающим, что Get store names возвращает правильные имена хранилищ при наличии сторонних входов. API Samza SQL был улучшен за счет поддержки подзапросов в соединениях и проверки типов аргументов в SamzaSQL UDF на этапе планирования выполнения. Также появился новый системный производитель для хранилища BLOB-объектов Azure.