Right now we're using the approach to configs used by serializers where we just forward the configs for the entire worker to the producer and consumer. However, with the distributed mode, we now have a lot of conflicting configs because the distributed herder uses the group membership functionality and client networking libraries.
We should instead use a sort of "namespaced" set of configs, which we already started doing with converters since we have multiple instances of converters instantiated by a single worker. We can use producer. and consumer. prefixes to isolate settings for the different components.