ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Chugunov <sergey.chugu...@gmail.com>
Subject Design proposal: automatic creation of BaselineTopology
Date Fri, 11 Aug 2017 11:47:09 GMT
Folks,

As we are getting to the conclusion on the discussion about cluster
automatic activation proposal [1] I would like to propose one more thing
that may also be useful here.

In addition to options of creating BLT (BTW, any ideas of a better name for
the concept are welcome; feel free to send a message to [1]) on first
cluster activation or preparing it with UI tools user will be allowed to
prepare a descriptor of desired BLT and provide it through java API or
configuration file.

Workflow is as follows:


   1. User specifies a descriptor for desired baseline topology.
   E.g. API like this may be used: Ignite.activation().
   setBaselineTopologyDescriptor(BaselineTopologyDescriptor descriptor).

   2. Descriptor contains list of IP addressed (address ranges) and ports
   where cluster nodes are expected to start.
   List may be continuous or may contain excludes.

   3. As this descriptor may be large and is used only once through a
   lifetime of the cluster I suggest to provide it either through java API or
   in a separate file but not in a regular configuration file.

   4. Descriptor may be set to a cluster of even one node; after being set,
   it will verify topology on event from each node joined the cluster and
   activate cluster/create BLT automatically when desired topology reached.

   5. When cluster already has a BLT in metastore, any descriptors from API
   calls or files are ignored.


This feature will also provide us a way to notify user when some unexpected
nodes are joining the cluster.
E.g. we may define a separate event and fire it each time when node
unexpected by topology descriptor joins the cluster.

Thoughts?


[1] http://apache-ignite-developers.2346864.n4.nabble.com/
Cluster-auto-activation-design-proposal-tt20295.html

Thanks,
Sergey.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message