HA Active Active or Active Passive

Status
Not open for further replies.

Kenny Riley

Active Member
Nov 1, 2017
243
39
28
36
Hi all

I've taken the Fusion Admin class but not the advanced class yet.. I am needing to get some high availability in place for my Fusion setup and am considering options.

I saw Daz's writeup of how to get a two node cluster setup configured but I'm not sure if it's an active/active setup or a failover setup? My concern with a failover setup using DNS SRV is that in the event the active server goes down, endpoints will be unusable until they attempt to re-register, which can be 2 to 5 minutes in most cases.

I was just curious how difficult it would be to have an active/active setup with instantaneous failover. Ideally what my end goal would be is to have have 2 or 3 nodes distributed in different locations of Digital Ocean for redundancy.

Is this something that is covered in the Advanced class and/or has anyone been able to implement this?

Thanks,
Kenny
 
Last edited:

DigitalDaz

Administrator
Staff member
Sep 29, 2016
3,038
556
113
No, basically load balancing, active/active just does not work.

The nearest you can get is per domain load balancing but then you have to bring kamailio into the mix.

Don't chase the HA too much just use reliable hardware. If people are off for a minute once in a blue moon so be it. If you set registration timers to 120, the max they will be out is a minute.
 

smn

Member
Jul 18, 2017
201
20
18
No, basically load balancing, active/active just does not work.

The nearest you can get is per domain load balancing but then you have to bring kamailio into the mix.

Don't chase the HA too much just use reliable hardware. If people are off for a minute once in a blue moon so be it. If you set registration timers to 120, the max they will be out is a minute.

How is failover done in this case? The primary/secondary server setting on the phone (or SRV record) and just SOL on softphones (many don't support SRV)? Also what happens with SIP providers DID inbound? Outbound should not be a problem, just create 2 subaccounts. But inbound DID usually needs to be pointed at a particular IP/DNS name.

What about using a premium DNS provider with a failover feature? That way everything is pointed at the domain name and if the DNS provider detects an outage they switch over automatically. It's a few minutes of downtime and possibly DNS caching issues but better than nothing at all.
 
Last edited:

DigitalDaz

Administrator
Staff member
Sep 29, 2016
3,038
556
113
I just use NAPTR/DNS-SRV at the carrier for inbound it works just like the phones would.
 
May 16, 2017
103
7
18
38
I have had Live commercial Fusion instance in AWS with 2000 endpoints for 14 months now and had no outages. I also have one in Digital Ocean for 12 months with only 1 planned reboot out of business hours at request of Digital ocean - Digidaz is right reliability is key. My company sells broadsoft cloud to corporates and they had 2 outages last year :) Fusion is more stable in AWS then a multi million pound company. Regards Andy
 

DigitalDaz

Administrator
Staff member
Sep 29, 2016
3,038
556
113
I have had Live commercial Fusion instance in AWS with 2000 endpoints for 14 months now and had no outages. I also have one in Digital Ocean for 12 months with only 1 planned reboot out of business hours at request of Digital ocean - Digidaz is right reliability is key. My company sells broadsoft cloud to corporates and they had 2 outages last year :) Fusion is more stable in AWS then a multi million pound company. Regards Andy

Just slightly off topic, I'm just installing a highly available pyfreebilling into google cloud, google do HA postgres now, its looking like really good results so far, I have rtpengine in local datacenters though handling the media.
 

smn

Member
Jul 18, 2017
201
20
18
I just use NAPTR/DNS-SRV at the carrier for inbound it works just like the phones would.

I'll have to look into that. I don't think you can use DNS-SRV with providers like voip.ms. Most of the providers I use seem to require an IP address.
 

DigitalDaz

Administrator
Staff member
Sep 29, 2016
3,038
556
113
I don't really have the need for softphones but I'm sure bria, zoiper, gswave all support it. If it became a problem I would jus use A records probably with very low TTL.

@Andrew Pickett, have you had any downtime at all with AWS?? Or pure 100% uptime?
 

DigitalDaz

Administrator
Staff member
Sep 29, 2016
3,038
556
113
I have just started using Googles HA Postgres service,I've only been using it a few days so far but it looks very promising, its fully synchronous replication and the replica is in a separate datacenter.
 

smn

Member
Jul 18, 2017
201
20
18
Just slightly off topic, I'm just installing a highly available pyfreebilling into google cloud, google do HA postgres now, its looking like really good results so far, I have rtpengine in local datacenters though handling the media.

Why do you prefer pyfreebilling over ASTPP? Right now my only reason for using ASTPP is that is uses PHP which I am a lot more familiar with than Python.
 

DigitalDaz

Administrator
Staff member
Sep 29, 2016
3,038
556
113
By default ASTPP bills at the end of the call, pyfreebilling bills continuously.

Also, though I have never tested it, ASTPP is supposedly dismal performance wise.
 

smn

Member
Jul 18, 2017
201
20
18
By default ASTPP bills at the end of the call, pyfreebilling bills continuously.

Also, though I have never tested it, ASTPP is supposedly dismal performance wise.

I think they are adding realtime billing in v3.6. I remember reading about a problem with 100-150 simultaneous call limit quite awhile ago but they seem to have corrected that now and can do at least 400.
 

DigitalDaz

Administrator
Staff member
Sep 29, 2016
3,038
556
113
I think they are adding realtime billing in v3.6. I remember reading about a problem with 100-150 simultaneous call limit quite awhile ago but they seem to have corrected that now and can do at least 400.

They'd need to, we are seeing 70cps sometimes for dialler traffic so 400 doesn't go very far at all :)
 

smn

Member
Jul 18, 2017
201
20
18
Just slightly off topic, I'm just installing a highly available pyfreebilling into google cloud, google do HA postgres now, its looking like really good results so far, I have rtpengine in local datacenters though handling the media.

I read the Google documentation a few times but still don't quite understand it. Can you just get the HA Google CloudSQL instance and nothing else? Then just attach whatever you want to it over the public internet? I understand that if one datacenter goes down it will switch over to the replicated SQL instance in a different datacenter. I don't understand how you connect to that. They don't mention if the public IP address stays the same (one floating IP between 2 datacenters) or if you also have to get 2 google cloud compute VM's running your application on their cloud to get the full HA advantages.
 
Last edited:

DigitalDaz

Administrator
Staff member
Sep 29, 2016
3,038
556
113
Its transparent to the end user, you just connect to the postgres with a DNS name.

I've actually dumped the google now, it only supported 100 connections to the postgres, I could possible have gotten around it with pg bouncer or something but I already have an active/passive setup across datacenters.

It did work very well though. Only thing was, it took a couple of minutes to failover.
 
  • Like
Reactions: kp123

smn

Member
Jul 18, 2017
201
20
18
Its transparent to the end user, you just connect to the postgres with a DNS name.

I've actually dumped the google now, it only supported 100 connections to the postgres, I could possible have gotten around it with pg bouncer or something but I already have an active/passive setup across datacenters.

It did work very well though. Only thing was, it took a couple of minutes to failover.

A couple minutes failover is ok for me. Much better than the alternative. Maybe it only does 100 connections because it's still in beta? I think even basic stuff can exceed 100 connections sometimes.

I need to find a solution that is multi-datacenter. Even if I almost never need it. So something like Amazon Elastic IP (Amazon speak for floating IP) with 2 availability zones (Amazon speak for two different datacenters) in one region. Would be nice if I could do it with one floating IP. Simplifies things.
 
Last edited:

Tiensicum

New Member
Sep 26, 2019
7
0
1
56
Vietnam
www.inext.com.vn
I have just started using Googles HA Postgres service,I've only been using it a few days so far but it looks very promising, its fully synchronous replication and the replica is in a separate datacenter.

I can't config the Fusionpbx with external databse is GCP Cloud PostgreSQL, because the postgres user is part of the cloudsqlsuperuser role.
It does not have the SUPERUSER or REPLICATION attributes.
Do you have any ideas for this problem?
Thanks,
 
Status
Not open for further replies.