ИзданиС 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 β€” Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΎΡ‚ Ρ‚Π΅ΠΌΠ° Π±Π΅Π· ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с consumer Π³Ρ€ΡƒΠΏΠ°, Π±Π΅Π· ΠΊΠΎΠΌΠΈΡ‚ Π½Π° смСщСния ΠΈ Π±Π΅Π· странични Π΅Ρ„Π΅ΠΊΡ‚ΠΈ Π²ΡŠΡ€Ρ…Ρƒ кластСра. ΠžΡ‚Π΄Π΅Π»Π½ΠΈΡΡ‚ Ρ€Π΅ΠΆΠΈΠΌ Consumer позволява ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ към Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° ΠΈ фиксиранС Π½Π° смСщСнията Ρ€ΡŠΡ‡Π½ΠΎ.
  • Навигация ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ (seek to timestamp) β€” ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ към ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΏΠΎ посочСна Π΄Π°Ρ‚Π° ΠΈ час Π±Π΅Π· нСобходимост ΠΎΡ‚ Ρ€ΡŠΡ‡Π½ΠΎ изчисляванС Π½Π° смСщСния. ΠŸΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ° Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° автСнтикация: SASL PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER (статичСн Ρ‚ΠΎΠΊΠ΅Π½ ΠΈ flow с клиСнтски ΠΊΡ€Π΅Π΄Π΅Π½Ρ†ΠΈΠ°Π»ΠΈ), TLS с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° сСртификата ΡΡŠΡ€Π²ΡŠΡ€, mTLS (Π²Π·Π°ΠΈΠΌΠ½Π° автСнтикация с сСртификати).
  • ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎ ΠΏΡ€Π΅Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ с regex Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ ΠΈ стойности Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅. ΠŸΠΎΠ΄ΠΊΡ€Π΅ΠΏΡ сС Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ наблюдСниС Π½Π° няколко Ρ‚Π΅ΠΌΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈ. Виртуализацията Π½Π° списъка позволява ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π½Π°Π΄ 50 000 ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π±Π΅Π· Π·Π°Π³ΡƒΠ±Π° Π½Π° производитСлност.
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π΅ΠΌΠΈ: създаванС, ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅, промяна Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Ρ€Π°Π·Π΄Π΅Π»ΠΈ, Π»ΠΈΠ΄Π΅Ρ€ΠΈ ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ синхронизирани Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ (ISR). ИзданиС kafkalet 0.1, дСсктопСн ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π° Apache Kafka
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° потрСбитСлски Π³Ρ€ΡƒΠΏΠΈ: ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Π·Π°ΠΊΡŠΡΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ (lag) ΠΏΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈ, Π½ΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° офсСтитС Π½Π° earliest, latest ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π²Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°, ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° участницитС Π² Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° (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