ElasticSearch is incredibly well architectured and easy to use.
To simplify data center operations, I am considering switching my current
app architecture from separated processes (app server instances separated
from elasticsearch instances) to each elasticsearch instance being embedded
inside an app server instance.
To clusterize app server instances, I was using until now JGroup. However I
don't need the full power of JGroups, my needs are very limited: be
notified of cluster changes, and send messages reliably across the cluster.
Also, having within the same java process 2 different ways to clusterize
the operations (jgroups and elasticsearch internal mechanism) and as a
consequence 2 different cluster states at the same time seem to me very
unnatural, and maybe bug-prone.
As a consequence, I am researching reusing elasticsearch cluster management
With that objective, be notified of cluster changes seems ok, but sending
messages across the cluster seems challenging: it seems there is no way to
leverage the cluster API of elastic search to send new types of messages?
I know this goes far from the initial elastic search mandate, but it shows
a general direction about elasticsearch making java stacks simpler:
elasticsearch was focused on full text search, then some people are using
it as a document store (like us), so the next step would be to leverage its
cluster capabilities instead of rebuilding it separately.
On the same topic, is there a programmatic way to retrieve the netty
instance initialized by elasticsearch?