Chat Application Server and Client Using Kafka


For kafka beginners, Here is best an example

Certainly! Here's an example of how you can implement a basic chat application using Apache Kafka in Python for both the server and client sides. Before running the code, make sure you have Apache Kafka installed and running.

### Kafka Server (producer) Code:

from kafka import KafkaProducer
import time

# Kafka producer configuration
producer = KafkaProducer(bootstrap_servers='localhost:9092')

# Function to send messages to the 'chat' topic
def send_message(username, message):
    producer.send('chat', f'{username}: {message}'.encode('utf-8'))

# Example usage
while True:
    username = input("Enter your name: ")
    message = input("Enter your message: ")
    send_message(username, message)
    time.sleep(1)  # Optional: add a delay between sending messages

### Kafka Client (consumer) Code:

from kafka import KafkaConsumer

# Kafka consumer configuration
consumer = KafkaConsumer('chat', bootstrap_servers='localhost:9092', group_id='chat-group')

# Function to receive and print messages from the 'chat' topic
def receive_messages():
    for message in consumer:

# Run the client to listen for messages
if __name__ == '__main__':

In the server code, the `send_message` function sends messages to the 'chat' topic. In the client code, the `receive_messages` function continuously listens for new messages on the 'chat' topic and prints them.

Remember to replace `'localhost:9092'` with the appropriate Kafka broker address if it's different in your setup.

To run the chat application:

1. Start Kafka server: `$KAFKA_HOME/bin/ $KAFKA_HOME/config/`

2. Run the Kafka producer (server) and consumer (client) Python scripts.

Now you have a basic Kafka-based chat application running, where the server and clients communicate via the 'chat' topic. Adjustments and enhancements can be made based on your specific requirements.

Kafka to build cab booking system
contact us : xamta infotech