-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Should be able to have clusters with dedicated brokers and data nodes #1934
Comments
We should consider completely redoing the current code in this area. The use of directories to indicate what "role" is a node in has caused lots of problems in the implementation. I think we should consider a simple file on disk that states "I'm a broker, I'm a data node, or I'm both". In other words, write the "role" to disk, and switch on the contents of that file on start-up. If the file does not exist, assume "combined". Right now the code in this area is pretty unclear. An explicit "role" file may be the answer. |
Based on #1426, this a proposed design change that we'd like feedback on. Currently we have a Data, Broker, Snapshot and Admin Port which are all bound on a common bind address. There is also a mix of public APIs endpoints ( We propose the following changes:
With this proposal, we get the following:
|
I'd rather support the simple common use case first and allow users to separate out ports as needed. Most people will probably stand up an I do like the separation of cluster port, admin port, & API port though. That seems like a reasonable separation. |
I too see the need for separate ports, and like the ideas above. However I don't see why we have the Admin UI on a different port. It should be on the API port, as far as I can see. I don't see any advantages to having it on a different port. |
If we remove the admin port, the admin interface will need to be served from a |
@jwilder I think this design makes a lot of sense. I've actually had issue #1426 open about this for a while. The only change I'd make is that I'd put the |
This is a pre-requisite for #1934. When running separate broker and data nodes, you currently need to know what role a host is performing. This complicates cluster setup in that you must configure separate broker URLs and data node URLs. This change allows a broker only node to redirect data nodes endpoints to a valid data node and a data only node to redirect broker endpoints to a valid broker.
@jwilder no issues for me on the admin interface - i think it would make some people happier |
Ok. We'll use this as the target design for this issue. |
This is a pre-requisite for #1934. When running separate broker and data nodes, you currently need to know what role a host is performing. This complicates cluster setup in that you must configure separate broker URLs and data node URLs. This change allows a broker only node to redirect data nodes endpoints to a valid data node and a data only node to redirect broker endpoints to a valid broker.
Currently, all servers in a cluster come up as both a broker and a data node. We should be able to spin up servers only as brokers and have other servers come up only as data nodes.
The text was updated successfully, but these errors were encountered: