ryerraguntla opened a new issue, #3421:
URL: https://github.com/apache/iggy/issues/3421
### Description
Implement a foundation layer for the gateway for Kafka users to Iggy. The
foundation consists of a TCP Listener receiving Kafka messages and
acknowledges the messages for each of the scoped Kafka API key and respective
version.
Kafka API key and versions are pretty comprehensive list. In this ticket,
define the scope of supporting Kafka API keys and associated versions for each
of the API Key.
The TCP Listener receives the message , validates the Kafka message format
for each of the API Key and associated version.
### Affected area / component
Other / not sure
### Proposed solution
- Listens on predefined (port 9093 which is Kafka wire protocol)
- Decodes Kafka binary requests (ApiVersions, Produce, Fetch, etc.)
- Validates against the scoped API Keys and versions and the respective
message formats
- Replies with return code. In case of expected data, for this ticket return
predefined values.
To Do: Attach the scoped Kafka API keys and Versions.
### Alternatives considered
Other considered approaches -
1. A layer on Iggy server with a dedicated port
2. Changes to each of the SDK so that Kafka clients can natively implement.
For (1) - Iggy server path will be affected and opening an additional port
at this point of product life cycle makes product vulnerable and is discouraged.
For (2) - As users are spread across multiple SDKs, the changes need to be
made in many SDKs. Also existing Kafka clients has learning curve in
implementing the Iggy Binary protocol.
The above approach of having a gateway for Kafka users into Iggy eliminates
the above issues. The con on having a separate gateway increases hosting cost.
Alternate solutions can be considered to handle the hosting costs at a later
point of time.
### Contribution
- [x] I'm willing to submit a pull request to implement this feature
### Good first issue
- [x] I think this could be a good first issue for a new contributor
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]