-
Notifications
You must be signed in to change notification settings - Fork 259
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fluss support multiple advertised listeners #421
Comments
@loserwang1024 thanks for the research. Could you propose a advertised listeners design for Fluss? |
This seems like fun to work on- I looked into both designs @loserwang1024 provided and have a couple questions:
|
Yes. Client need to connect coordinator server to create/alter table or database, need to connect to tablet server for reading data.
Maybe we can discuss this in #486
It depends on how an authenticate plugin return a principal(this can be a role binding to listener) |
Search before asking
Motivation
As we discuss in #399 , this issue will focus on supportting multiple advertised listeners.
Same as Fluss, both Kafka and Pulsar also used to support listening only one port. However, both supports multiple advertised listeners in the production environment later, thus connection from internal server and external client will use different port and security protocol.
Kafka
As shown in kafka document, Multiple Listeners for Kafka Brokers and KIP-103: Separation of Internal and External traffic, the support multiple type of listeners:
listeners
: Comma-separated list of URIs we will listen on and the listener names. If the listener name is not a security protocol, listener.security.protocol.map must also be set.Pulasr
As shown in pulsar document and PIP 61: Advertised multiple addresses , to ensure clients in both internal and external networks can connect to a Pulsar cluster, Pulsar introduces advertisedListeners and internalListenerName configuration options into the broker configuration file to ensure that the broker supports exposing multiple advertised listeners and support the separation of internal and external network traffic.
The
advertisedListeners
is used to specify multiple advertised listeners. The broker uses the listener as the broker identifier in the load manager and the bundle owner data. The advertisedListeners is formatted as <listener_name>:pulsar://:, <listener_name>:pulsar+ssl://:. You can set up the advertisedListeners like advertisedListeners=internal:pulsar://192.168.1.11:6660,internal:pulsar+ssl://192.168.1.11:6651.The
internalListenerName
is used to specify the internal service URL that the broker uses. You can specify the internalListenerName by choosing one of the advertisedListeners. The broker uses the listener name of the first advertised listener as the internalListenerName if the internalListenerName is absent.Solution
No response
Anything else?
No response
Willingness to contribute
The text was updated successfully, but these errors were encountered: