Is your enhancement request related to a problem? Please describe.
From pulsar 2.6.x, you guys have introduced advertisedListeners which is a useful feature. But the problem with that is, it uses the broker/web port underneath which is a problem. Let's say I have 2 containers running pulsar broker and they have the same public IP because they are on the same physical host (e.g. IP 192.168.201.202). So both of them tries to create health check topic with 8080 ports and it fails. Both of them forms the address 192.168.201.202:8080 and of course, it's not possible to serve two nodes on the same port on the same machine.
Describe the solution you'd like
There should be an option to advertise ports separately. Maybe 4 separate ports(advertisedBrokerPort, advertisedBrokerPortTls, webServicePort, webServicePortTls) from where the outside world can connect.
Describe alternatives you've considered
My colleague and I had created an end-to-end solution for this where we exposed all 4 ports I mentioned above at https://github.com/ashishshinde/pulsar/tree/advertised-ports-master-rebase. While raising a PR, I found that you guys have already worked halfway by creating advertisedListeners. The advertisedListeners is anyways not documented on the main site so we can also think of our alternative.
Is your enhancement request related to a problem? Please describe.
From pulsar 2.6.x, you guys have introduced
advertisedListenerswhich is a useful feature. But the problem with that is, it uses the broker/web port underneath which is a problem. Let's say I have 2 containers running pulsar broker and they have the same public IP because they are on the same physical host (e.g. IP 192.168.201.202). So both of them tries to create health check topic with 8080 ports and it fails. Both of them forms the address 192.168.201.202:8080 and of course, it's not possible to serve two nodes on the same port on the same machine.Describe the solution you'd like
There should be an option to advertise ports separately. Maybe 4 separate ports(advertisedBrokerPort, advertisedBrokerPortTls, webServicePort, webServicePortTls) from where the outside world can connect.
Describe alternatives you've considered
My colleague and I had created an end-to-end solution for this where we exposed all 4 ports I mentioned above at https://github.com/ashishshinde/pulsar/tree/advertised-ports-master-rebase. While raising a PR, I found that you guys have already worked halfway by creating advertisedListeners. The advertisedListeners is anyways not documented on the main site so we can also think of our alternative.