I have an api (django app), lots of people use it, i want this api handle millions requests.

How can i make it distributed so this api can handle many requests.
Should i make producer and consumer in one file?
You need an HTTP load balancer, not Kafka to scale incoming API requests.
Once a request is made, you can produce Kafka events, or try to do something with a consumer as long as you aren't blocking the HTTP response. File organization doesn't really matter, but yes, one producer instance per app, but multiple consumer threads can be started independently, as needed
Django-kafka. Distributed requests to an endpoint to handle millions of requests