require 'kafka' # Set up Kafka client kafka = Kafka.new( seed_brokers: ['localhost:9092'], client_id: 'my_kafka_client' ) # Create a producer producer = kafka.producer # Create a consumer consumer = kafka.consumer(group_id: 'my_consumer_group') # Define the topic topic = 'my_topic' # Publish messages to Kafka producer.produce('Hello, Kafka!', topic: topic) producer.deliver_messages # Subscribe to the topic and consume messages consumer.subscribe(topic) # Start consuming messages consumer.each_message do |message| puts "Received message: #{message.value}" end # Close connections producer.shutdown consumer.stop