Эксплуатация Kafka в крупном масштабе является сложной задачей из-за планирования ресурсов, управления разделами, высокого уровня доступности и потребностей в хранении. Дизайн Kafka не соответствует облачным принципам простоты, бессостояния и эластичности. Чтобы решить эту проблему, был запущен экспериментальный проект под названием stateless-kafka-broker, который удаляет внутреннее состояние из брокера и делегирует все внешним системам хранения. Архитектура разработана так, чтобы быть простой и минимальной, разделяя метаданные, журналы и управление индексами на подключаемые внешние хранилища. Этот дизайн приносит такие преимущества, как простое горизонтальное масштабирование, гибкость в выборе систем хранения и отсутствие необходимости поддерживать метаданные или журналы брокера. Дизайн брокера разделен на три отдельных хранилища: Meta Store, Log Store и Index Store, каждое из которых реализовано как трейт Rust, что позволяет создавать полностью подключаемые реализации. Хотя этот подход имеет компромиссы в производительности, он предлагает простоту, гибкость и легкость эксплуатации. Проект полностью открытый и приглашает вклад в реализацию новых бэкендов, улучшение поддержки протоколов, оптимизацию производительности и написание документации. Цель - создать действительно бессостоящий, облачный брокер Kafka, который легко эксплуатировать и масштабировать. Проект еще находится на ранней стадии и приглашает вкладчиков со всего мира присоединиться и вместе строить.
dev.to
Beyond Traditional Kafka: Building a Stateless, Pluggable Broker
Create attached notes ...
