feature: add max_retry for producer
bugfix: close function not needed
feature: add buffer producer