Based on this design doc.
The DirectKafkaInputDStream should use the rate estimate to control how many records/partition to put in the next batch.
Provide pluggable Congestion Strategies to deal with Streaming load
Define the RateEstimator interface, and implement the ReceiverRateController
Throttle DStreams dynamically through back-pressure information
[Github] Pull Request #7796 (dragos)