WebDev and Redundancy

I am setting up redundancy with Ignition, but I am also using WebDev. We have various uses, one of which would be a client posting data to WebDev which is then parsed into tags.

How would I need to handle this with redundancy? Does WebDev respect the Master/Backup or can the external client hit either node?

1 Like

Great question.

It would be nice if we can establish a domain name that either gateway would respond to depending on the master/backup status, instead of the hard coded IP address, which I am guessing won’t work in the failover scenario, unless you scripted that on whatever application you are hitting Ignition from. Ex. try the backup if the master times out.

You could either add the logic to your application, where you configure each address of the webdev systems, and pass through them as requests fail. The other option would be placing a load balancer in front of the servers. We use nginx.

2 Likes

Thanks Kyle! Are you able to provide nginx config docs if we went this route?

Also, if I configure the app with logic to use both servers, and for some reason the app executes against the current “Backup” gateway will that cause problems? Will tag/db writes still work or do I have to first ensure the gateways is currently the master before posting data? If this is the case would you suggest checking http://ignition/main/data/status/redundancy prior to executing any request against webdev?

PS - There appears to be a bug in 7.9.2 that I cannot expose the status pages to not require a login… gateways settings page wont let me set the role list to blank.

Give me a couple days, I am out camping atm. Ill post some working nginx stuff, including ssl encrypting with ACME certs.

I’m working on something similar with NGINX at the moment so I can post my config files when I get that all finished up.

Hey @Kyle_Chase let me know if you ever get a chance to post your nginx scripts. I’m looking to set something like this up soon. Not sure if I should go this route or HAProxy…

So I gave up quickly on nginx. For a proper HA solution, you would have to pay for nginx. I then turned to HAProxy. Let me dig up the script and I will let you know what I come up with.

Nginx with LetsEncrypt works great though.

As a starting point though, you can use https://ignition/main/system/gwinfo, and check for “RedundantNodeActiveStatus=Active” to determine which server is active.

1 Like

HAProxy doesn’t seem bad, script would be great to help jumpstart. I got some rough load balancer quotes for the fancy stuff and we were approaching 6 figures for two sites!!

Ok, I have HAProxy up and running for both load balancing and automatic certificate renewal. However, its complicated. Let me see if I can make this easy to understand.

Re-kindling this. We are finally trying to get load balancing setup for WebDev. I like the HAProxy idea, but our IT folks want to use Windows NLB. Would this be capable of doing the necessary routing?

@ryanjmclaughlin did you get this to work, we are working in implementing redundancy to our servers, but have the same issue, we have some data handling thru webdev APIs.

I am not sure if your IT department will let us use something like HAProxy, I was also thinking about having a timed script that updates the IP of the Master to a DB, not sure if it will work though, working in the lab setup to test it.

No, we are still waiting on the need and are hoping we can replace the need for WebDev with Perspective in the distant future.

Hi, any updates about the WebDev or HAProxy solution ?