Testing Kafka Services
Aethrix Studio can connect to a Kafka Schema Registry to import message schemas, compose messages, produce them to topics, and consume messages from topics for inspection.
When to use this
Use the Kafka workflow to verify that your producers emit well-formed messages to the right topic/partition and that your consumers correctly receive and parse messages — without writing a standalone producer/consumer application.
Importing from Schema Registry
- Click Import API in the API Playground toolbar.
- In Service Type, select Kafka - Schema Registry (Avro / JSON Schema / Protobuf).
- In Service Description, enter the Schema Registry URL (e.g.
https://schema-registry.example.com:8081). - Step through Authentication (if the registry is protected) and Application & Service Name, then click Import.
Aethrix retrieves the registered subjects and their schemas. The service tree organizes each subject as an operation under the service node. Selecting a subject opens the Kafka message editor (producer) or, for consumer-type operations, the Kafka Consumer message editor.
Supported Schema Formats
| Format | Description |
|---|---|
| Avro | Apache Avro schemas — the most common format for Confluent Schema Registry. |
| JSON Schema | JSON Schema for Kafka message validation. |
| Protobuf | Protocol Buffers schemas. |
Producing a Message
Select a Kafka operation from the service tree to open the Kafka message editor. This is a free-text editor with the following fields:
- Topic — the destination topic.
- Key — the message key.
- Headers — a Name/Value grid. Use Add, Remove, and Clear to manage header rows.
- Payload — the message body (with syntax highlighting and a line/column caret indicator at the bottom).
Sending
- Fill in Topic, Key, Headers, and Payload.
- Click Send in the toolbar.
The response panel shows the delivery result (topic, partition, and offset of the produced message).
Producer Security & Authentication
Producer connection security is configured in two places:
- Options tab → Kafka Message Transformer — the Transformer combo applies a message transformation before sending, and the Parameters list carries per-request Kafka settings such as Security Protocol (
Plaintext,Ssl,SaslPlaintext,SaslSsl) and SASL Mechanism (Plain,ScramSha256,ScramSha512,OAuthBearer,Gssapi). - Authentication tab — credentials are resolved from the selected SASL mechanism:
- Username / Password for
Plain,ScramSha256,ScramSha512, andGssapi(Kerberos). - Token for
OAuthBearer. - Mutual TLS (mTLS) client-certificate authentication is configured via the client-certificate provider and applied to the producer's SSL settings.
- Username / Password for
For Plaintext and Ssl security protocols, SASL is disabled and no mechanism is used.
Consuming Messages
Consumer operations open the Kafka Consumer message editor — a dedicated form for configuring a consume. Click Send to start consuming: each message the topic delivers appears in the event panel the moment it arrives, and clicking a row shows the message in the inspector. While the consume runs, the panel takes the place of the request form and a Stop button ends it early — the messages already received are kept. The consume also ends by itself once Max Messages have arrived or Timeout (s) has elapsed; the ordinary response view then returns and shows the consumed message grid.
Keeping a Consume While You Test
A consume does not end when you navigate away. Select a different operation and its editor is fully usable while the consume keeps receiving. The toolbar shows a live pill with the number of running streams and a Stop all button, and the service tree marks each node whose stream is still live. Selecting the consumer operation again re-attaches the panel with every message that arrived while you were elsewhere. Sending again on the same node stops the previous consume first — one stream per node; different nodes stream in parallel.
Connection
| Field | Default | Description |
|---|---|---|
| Bootstrap Servers | localhost:9092 | Kafka broker addresses. |
| Topic | — | Target topic to consume from (autocompletes from the bootstrap servers). |
| Group ID | Aethrix-consumer | Consumer group identifier. |
| Test Connection | — | Verifies connectivity to the brokers before consuming. |
Security
| Field | Options | Description |
|---|---|---|
| Security Protocol | Plaintext, Ssl, SaslPlaintext, SaslSsl | Transport security. |
| SASL Mechanism | Plain, ScramSha256, ScramSha512, OAuthBearer, Gssapi | Authentication mechanism (for SASL protocols). |
| Username | — | SASL username. |
| Password | — | SASL password. |
| Kerberos Service Name / Principal / Keytab Path | — | Visible only when SASL Mechanism is Gssapi; configure Kerberos (GSSAPI) authentication. |
Poll Behavior
| Field | Default | Description |
|---|---|---|
| Max Messages | 1 | Maximum number of messages to consume per poll. |
| Timeout (s) | 30 | Poll timeout in seconds. |
| Auto Offset Reset | Earliest | Where to start reading when no committed offset exists (Earliest, Latest, Error). |
Offset Management
| Field | Default | Description |
|---|---|---|
| Initial position | None | One-time seek before consuming: None, Beginning, or End. |
| Enable auto-commit | Off | When enabled, shows Commit interval (ms) and a Commit Now button. |
Consumed Message Result
When the consume ends, the response panel shows a grid of consumed messages with columns Topic, Partition, Offset, Timestamp, Key, Value, and Headers (count), plus a search box and a detail panel for the selected message.
Limitations
For every Kafka schema construct that Aethrix degrades or rejects — with an example, what you see in Studio, and how severe it is — see Import Diagnostics — Unsupported structures & fallbacks (Kafka tab). This is the single, exclusive reference.
- Schema Registry authentication — only Basic authentication is supported for Schema Registry access.
- Message transformers — custom transformer plugins must be installed as extensions.