C#/.NET: Possible to assign different nodes different roles?
I was assigned a POC where a cluster should not have a single point of failure -- more specifically, each node should be assigned a different role.
This means that loading the cache, querying, storage, etc. would be seen as their own individual roles and therefore kept separate, hosting on different ports.
For example, a node would be assigned the role of querying the cache; ideally, a port would be set up so that a client would connect to that port.
I was just wondering if (1) this was possible, and (2) if possible, how would I go about it?
Right now, I have this XML file where I start a cluster from a remote machine; I have a one C# project that connects to the cluster, creates a cache, and loads entries from an underlying RDBMS. Additionally, I have another C# project that connects a thin client to the cluster and queries the cache once loaded.
If I were to implement nodes operating separately with their own roles, would I need to have different XML files with the same [remoteHost] but different ports under the addresses property for each XML file? (i.e. XML file #1 has [remoteHost], [remoteHost]:10800; XML file #2 has [remoteHost], [remoteHost]:47500..47509).
Re: C#/.NET: Possible to assign different nodes different roles?
It is possible to do this via node filters or attributes.
We use differentiated fleets of client nodes that interact with server nodes to pull data processed at the server node level and then further process it at a cluster level. We assign a 'ROLE' attribute to each node and then filter those nodes from the Ignite cluster to form the compute projection to Apply() or Broadcast() a request to.
We do this in an auto scaled Kubernetes deployment on AWS.
Raymond Wilson Solution Architect, Civil Construction Software Systems (CCSS) 11 Birmingham Drive | Christchurch, New Zealand <a href="tel:+64-21-2013317" style="background-color:transparent;color:rgb(54,53,69)" target="_blank">+64-21-2013317 Mobile [hidden email]