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]

Reply via email to