Skip to main content
1-Visitor
March 11, 2014
Question

Load Balancing Servers

  • March 11, 2014
  • 2 replies
  • 1906 views

Is it possible or recommended to setup multiple servers connecting to a shared default neo4J database (/Thingworx) to leverage a load balancing model such as Amazon AWS?  To allow multiple servers for failover?

Is there a suggested model for something like this?

Thanks In Advance
Clark

    2 replies

    5-Regular Member
    March 12, 2014

    Hi Clark,

    Currently, ThingWorx does not support traditional load balancing models such as Amazon ELB. In 5.0, you will have the ability to have a load balancer in front of the ThingWorx server, but you will be unable to share a database between two active nodes. Similarly, ThingWorx does not support high availability, but you can use a common SAN or similar disk to provide warm backup functionality. We're happy to provide a list of best practices relating to warm swap failover by leveraging ThingWorx's database backup functionality.


    True high availability is planned for later in 2014.


    Thanks,

    Adam



    clarkha1-VisitorAuthor
    1-Visitor
    March 19, 2015

    AdamT or TWIMC

    Is this viable now?

    Thanks In Advance
    Clark



    5-Regular Member
    March 19, 2015

    Hi Clark,

    In 5.0, it is possible to use a load balancer along with multiple Connection Servers to distribute load across multiple servers.


    The next release of the ThingWorx platform will support high availability of the Connection Server and runtime data (through support for Cassandra as a storage option for DataTables and Streams). Future releases of ThingWorx will support HA of model data as well and ultimately, the entire ThingWorx platform will support HA by the end of the year.


    – Adam



    clarkha1-VisitorAuthor
    1-Visitor
    March 13, 2014

    Thanks for the reply Adam

    We actually do use separate data storage on AWS now to provide us with some "warm swap failover now"  The data partition is separate from the Instance OS storage so in the event of an instance going down we should be able to bring up a new server instance, connect to the orphaned data storage directly or typically we create a new image from the data storage to protect that orphaned storage from being damaged if we need to go back to it.  This gets us back up and going with some short downtime in the case of a catastrophic instance failure.  But we do want the ability to have some High Availability in the future.

    Thanks
    Clark