ИзданиС Π½Π° kafkalet 0.1, дСсктоп ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π° Apache Kafka

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ Π΅ новият kafkalet 0.1, дСсктоп ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Apache Kafka. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΊΠ°Ρ‚ΠΎ самостоятСлСн Π±ΠΈΠ½Π°Ρ€Π΅Π½ Ρ„Π°ΠΉΠ» с Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠΎΠ»ΠΎ 15 MB, Π½Π΅ изисква инсталиранС Π½Π° JVM, Docker ΠΈΠ»ΠΈ стартиранС Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ написан Π½Π° Go ΠΈ TypeScript ΠΈ сС разпространява ΠΏΠΎΠ΄ MIT Π»ΠΈΡ†Π΅Π½Π·. Π‘Π±ΠΎΡ€ΠΊΠΈΡ‚Π΅ са ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ Π·Π° macOS (Intel ΠΈ Apple Silicon), Windows ΠΈ Linux.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΡƒΠ΅Π± Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ инструмСнти, ΠΊΠ°Ρ‚ΠΎ Kafka UI ΠΈ AKHQ, ΠΊΠΎΠΈΡ‚ΠΎ изискват Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π΅Π½ процСс Π² Docker, kafkalet Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ дСсктоп ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β€” Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π½Π° DBeaver ΠΈΠ»ΠΈ DataGrip Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. ЕдинствСният дСсктоп Kafka ΠΊΠ»ΠΈΠ΅Π½Ρ‚ досСга бСшС Offset Explorer (бивш Kafka Tool), написан Π½Π° Java ΠΈ ΠΎΡ‚Π΄Π°Π²Π½Π° Π½Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ kafkalet Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½Π° Π½Π° основата Π½Π° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Wails v2, ΠΊΠΎΠΉΡ‚ΠΎ обСдинява Go Π±Π΅ΠΊΠ΅Π½Π΄ с ΡƒΠ΅Π± интСрфСйс Π½Π° React 18, TypeScript ΠΈ shadcn/ui Π² Π΅Π΄ΠΈΠ½ Π½Π°Ρ‚ΠΈΠ²Π΅Π½ Π±ΠΈΠ½Π°Ρ€Π΅Π½ Ρ„Π°ΠΉΠ». Π—Π° взаимодСйствиС с Kafka сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° franz-go, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° изцяло Π½Π° Go, Π±Π΅Π· зависимост ΠΎΡ‚ librdkafka ΠΈ CGO.

Основни Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ:

  • БистСмата Π·Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ позволява ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° няколко срСди (production, staging, dev). ВсСки Π±Ρ€ΠΎΠΊΠ΅Ρ€ Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° няколко ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½ΠΈ потрСбитСлски смСтки с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π±ΡŠΡ€Π·ΠΎ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅. ΠŸΠ°Ρ€ΠΎΠ»ΠΈΡ‚Π΅ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈΡ‚Π΅ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ изцяло Π² систСмното Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π° Ρ‚Π°ΠΉΠ½ΠΈ Π½Π° ОБ (macOS Keychain, Windows Credential Manager, libsecret Π½Π° Linux) ΠΈ Π½Π΅ сС записват Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.
  • Π Π΅ΠΆΠΈΠΌΡŠΡ‚ Observer позволява Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΎΡ‚ topic Π±Π΅Π· ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ към consumer group, Π±Π΅Π· ΠΊΠΎΠΌΠΈΡ‚ Π½Π° offset ΠΈ Π±Π΅Π· странични Π΅Ρ„Π΅ΠΊΡ‚ΠΈ Π²ΡŠΡ€Ρ…Ρƒ кластСра. ΠžΡ‚Π΄Π΅Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Consumer позволява ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ към Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° ΠΈ Ρ€ΡŠΡ‡Π½ΠΎ фиксиранС Π½Π° offset.
  • Навигация ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ (seek to timestamp) β€” ΠΏΡ€Π΅Ρ…ΠΎΠ΄ към ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π°Ρ‚Π° Π΄Π°Ρ‚Π° ΠΈ час, Π±Π΅Π· Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Ρ€ΡŠΡ‡Π½ΠΎ изчисляванС Π½Π° offsets. ΠŸΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ° Π·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π½Π° аутСнтификация: SASL PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER (статичСн Ρ‚ΠΎΠΊΠ΅Π½ ΠΈ flow с клиСнтски ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ), TLS с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° сСртификата ΡΡŠΡ€Π²ΡŠΡ€, mTLS (Π²Π·Π°ΠΈΠΌΠ½Π° аутСнтификация ΠΏΠΎ сСртификати).
  • ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎ наблюдСниС Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ с regex Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ ΠΈ стойности Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ наблюдСниС Π½Π° няколко topic-Π° Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ‚Π°Π±ΠΎΠ²Π΅. Виртуализацията Π½Π° списъка позволява ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π½Π°Π΄ 50 000 ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π±Π΅Π· намаляванС Π½Π° производитСлността.
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΠΈ: създаванС, ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅, промяна Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Ρ€Π°Π·Π΄Π΅Π»ΠΈ, Π»ΠΈΠ΄Π΅Ρ€ΠΈ ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ синхронизирани Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ (ISR). ИзданиС Π½Π° kafkalet 0.1, дСсктоп ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π° Apache Kafka
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π³Ρ€ΡƒΠΏΠΈ консуматори: ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° закъснСния (lag) ΠΏΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈ, Π½ΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° офсСти Π½Π° earliest, latest ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π²Π° ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°, ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° участницитС Π² Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° (client ID, хост, Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Ρ‚Π΅ΠΌΠΈ), ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° Π³Ρ€ΡƒΠΏΠΈ.
  • Π˜Π·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ с ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŽΡ‡, стойност, заглавия ΠΈ Ρ†Π΅Π»Π΅Π²ΠΈ Ρ€Π°Π·Π΄Π΅Π». ИзданиС Π½Π° kafkalet 0.1, дСсктоп ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π° Apache Kafka
  • ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Π΅ΠΌΠΈ: Π·Π°ΠΊΡ€Π΅ΠΏΠ²Π°Π½Π΅ Π½Π° чСсто ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Ρ‚Π΅ΠΌΠΈ, Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½Π΅ Π² ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½ΠΈ ΠΏΠ°ΠΏΠΊΠΈ, Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ ΠΈ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ ΠΏΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ Π±Ρ€ΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈ.
  • Експорт Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON ΠΈΠ»ΠΈ CSV.
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Confluent Schema Registry Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Avro.
  • БистСма ΠΎΡ‚ JavaScript плъгини Π·Π° потрСбитСлско Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ (Protobuf, MessagePack ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ).
  • Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΈ Скспорт Π½Π° настройки Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ, Π³Ρ€ΡƒΠΏΠΈ Ρ‚Π΅ΠΌΠΈ ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ΅Π½ΠΈ Ρ‚Π΅ΠΌΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster