Hi,
the current impl of JolokiaDiscoveryMBean.java is based on Multicast using datagram packets.
This practice, while still relevant in certain context, do not age well over time. Yet the need for autodiscovery is more and more relevant in a microservice environment.
Have you shared some thoughts regarding the possibility to provide other type of discovery implementation(s), not relying on datagram, complementary to the existing one?
For instance, a DNS based implementation would provide a good alternative for scenarios when all the IP occurrences of a replica are registered under a single CNAME.
E.g. A K8s headless service will register every pod IP under the common CNAME.
Otherwise (or in addition), providing a clean way to plug a custom IMPL of JolokiaDiscoveryMBean would enable to extend Jolokia to solutions that already have service registry (such as spring-cloud-service-discovery-server/client).
The only way I found, is to re-register another impl of the MBean at runtime under the same object name.
Maybe I missed something.
Hugo
Hi,
the current impl of JolokiaDiscoveryMBean.java is based on Multicast using datagram packets.
This practice, while still relevant in certain context, do not age well over time. Yet the need for autodiscovery is more and more relevant in a microservice environment.
Have you shared some thoughts regarding the possibility to provide other type of discovery implementation(s), not relying on datagram, complementary to the existing one?
For instance, a DNS based implementation would provide a good alternative for scenarios when all the IP occurrences of a replica are registered under a single CNAME.
E.g. A K8s headless service will register every pod IP under the common CNAME.
Otherwise (or in addition), providing a clean way to plug a custom IMPL of JolokiaDiscoveryMBean would enable to extend Jolokia to solutions that already have service registry (such as spring-cloud-service-discovery-server/client).
The only way I found, is to re-register another impl of the MBean at runtime under the same object name.
Maybe I missed something.
Hugo