1. Confluent Documentation, "Configure Kafka Brokers": This document details the key configuration properties.
listeners: "A comma-separated list of listeners and the host/IP and port to which Kafka binds to for listening."
listener.security.protocol.map: "A map of listener names to security protocols... If you are using a different security protocol for inter-broker and client communication, you must define this property."
inter.broker.listener.name: "Name of the listener used for communication between brokers."
Source: Confluent Platform Documentation, Self-Managed Configuration, "Configure Kafka Brokers", Section on Networking.
2. Apache Kafka Documentation, "Security": The official Kafka documentation explains how listeners work in the context of security.
"It is common to configure several listeners on a broker... For example, an operator may configure a PLAINTEXT listener for traffic originating from the same datacenter and a SSL listener for traffic from outside."
Source: Apache Kafka Documentation, Version 3.7, Section 7.1 "Security".
3. KIP-103: Separation of Internal and External traffic: This Kafka Improvement Proposal is the official design document that introduced the functionality.
"This KIP proposes adding the ability to configure multiple listeners with different security protocols on a single broker and designating one of the listeners for inter-broker communication."
Source: Apache Kafka Confluence, KIP-103: Separation of Internal and External traffic.