Paglabas ng kafkalet 0.1, isang desktop client para sa Apache Kafka

Inilabas na ang Kafkalet 0.1, isang desktop graphical client para sa Apache Kafka. Ang application ay inihahatid bilang isang self-contained binary file, humigit-kumulang 15 MB ang laki, at hindi nangangailangan ng pag-install ng JVM, Docker, o pagpapatakbo ng mga server component. Ang code ng proyekto ay nakasulat sa Go at TypeScript at ipinamamahagi sa ilalim ng lisensya ng MIT. Ang mga Build ay magagamit para sa macOS (Intel at Apple Silicon), Windows, at Linux.

Hindi tulad ng mga umiiral na web-based na tool tulad ng Kafka UI at AKHQ, na nangangailangan ng pag-deploy ng server process sa Docker, ang kafkalet ay tumatakbo bilang isang regular na desktop application—katulad ng DBeaver o DataGrip para sa mga database. Hanggang ngayon, ang tanging desktop Kafka client ay ang Offset Explorer (dating Kafka Tool), na nakasulat sa Java at hindi na-update nang matagal. Ang kafkalet ay binuo sa Wails v2 framework, na pinagsasama ang isang Go backend na may web interface na nakasulat sa React 18, TypeScript, at shadcn/ui sa isang native binary. Para sa pakikipag-ugnayan sa Kafka, ginagamit ang franz-go library, na ipinapatupad sa purong Go nang walang dependency sa librdkafka o CGO.

Mga pangunahing tampok:

  • Isang sistema ng profile para sa pamamahala ng maraming kapaligiran (produksyon, pagtatanghal, at pag-develop). Ang bawat broker sa isang profile ay maaaring magkaroon ng maraming pinangalanang account na may kakayahang mabilis na lumipat sa pagitan ng mga ito. Ang mga password at token ay eksklusibong nakaimbak sa system secrets store ng OS (macOS Keychain, Windows Credential Manager, o libsecret sa Linux) at hindi isinusulat sa mga configuration file.
  • Binabasa ng observer mode ang mga mensahe mula sa isang paksa nang hindi kumukonekta sa isang grupo ng mamimili, nang walang pag-commit ng mga offset, at walang anumang cluster side effect. Ang isang hiwalay na Consumer mode ay nagbibigay-daan sa iyong kumonekta sa grupo at manu-manong mag-commit ng mga offset.
  • Pag-navigate gamit ang timestamp—mag-navigate sa mga mensahe ayon sa isang tinukoy na petsa at oras nang hindi manu-manong kinakalkula ang mga offset. Mga sinusuportahang paraan ng pagpapatotoo: SASL PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER (daloy ng static na token at mga kredensyal ng kliyente), TLS na may beripikasyon ng sertipiko server, mTLS (pagpapatotoo ng sertipiko ng magkaparehong uri).
  • Pagtingin ng mensahe sa pamamagitan ng streaming gamit ang real-time regex filtering para sa mga key at value. Sinusuportahan ang sabay-sabay na pagsubaybay sa maraming paksa sa magkakahiwalay na tab. Ang list virtualization ay nagbibigay-daan sa pagpapakita ng mahigit 50,000 mensahe nang hindi naaapektuhan ang performance.
  • Pamamahala ng paksa: paglikha, pagtanggal, pagbabago ng mga parameter ng configuration, pagtingin sa mga partisyon, mga lider, at ang hanay ng mga naka-synchronize na replica (ISR).  Paglabas ng kafkalet 0.1, isang desktop client para sa Apache Kafka
  • Pamamahala ng mga grupo ng mamimili: pagtingin sa lag ayon sa partisyon, pag-reset ng mga offset sa pinakamaaga, pinakabago, o isang partikular na timestamp, pagtingin sa mga miyembro ng grupo (client ID, host, mga nakatalagang paksa), pagtanggal ng mga grupo.
  • Nagpapadala ng mga mensahe na may tinukoy na key, value, header, at target na seksyon.  Paglabas ng kafkalet 0.1, isang desktop client para sa Apache Kafka
  • Pag-oorganisa ng paksa: i-pin ang mga paksang madalas gamitin, ipangkat ang mga ito sa mga pinangalanang folder, maghanap gamit ang suporta para sa mga regular na expression at pag-filter ayon sa minimum na bilang ng mga seksyon.
  • I-export ang message buffer sa JSON o CSV format.
  • Pagsasama sa Confluent Schema Registry para sa awtomatikong pag-decode ng mga mensahe ng Avro.
  • Isang sistema ng mga plugin ng JavaScript para sa pasadyang pag-decode ng mga mensahe (Protobuf, MessagePack at iba pang mga format).
  • Mga setting ng pag-import at pag-export sa format na JSON, kabilang ang mga profile, pangkat ng paksa, at mga naka-pin na paksa.

Pinagmulan: opennet.ru

Magdagdag ng komento