Looking for High Availability Strategies for My Payment Platform

0
1
Asked By TechWizard84 On

Hey everyone! I'm diving into building production infrastructure for a payment platform where 100% uptime is a must. I'm seeking advice from those with hands-on experience on the best failover strategies.

Here's my current tech stack:
- Linux (Ubuntu Server)
- Apache2 with SSL and reverse proxy
- Node.js backend
- PostgreSQL database
- React.js frontend
- 8 systemd services

The domain is hosted through Cloudflare with Full Strict SSL/TLS in place.

I've been considering a couple of options:
1. A full multi-server failover using Cloudflare Load Balancer, but I'm unsure how to keep servers in sync.
2. Setting up manual cron daily backups, but I realize that if the server fails, services would stop completely, which I want to avoid.

So, I have a few specific questions:
1. If I choose to use Cloudflare Load Balancer, what's the best way to sync the primary and backup servers?
2. Do I need to manually replicate changes made on the primary server to the backup?
3. Can tools like Ansible help me deploy changes simultaneously to both servers?
4. My main concern is ensuring the database and SSL certificates remain in sync while the React and Node components seem easier to manage.

Thanks in advance for any practical advice!

3 Answers

Answered By ServerGuru99 On

You're thinking along the right lines, but rather than just focusing on the backups, consider a high-availability setup. You should invest in a PostgreSQL cluster to ensure your database is always accessible with a primary and replica setup. Don't forget to run multiple app server instances behind a load balancer for redundancy. Also, develop a separate backup strategy to ensure data integrity later on. It’s not about avoiding downtime completely, but making sure that if one component fails, the rest keeps running smoothly!

BackupNinja21 -

Absolutely! The PostgreSQL HA setup options like Patroni or repmgr are great choices. And yes, using the Cloudflare Load Balancer can effectively manage failover by automatically rerouting traffic if one instance goes down.

Answered By DevOpsDynamo On

What you need is a high availability failover design. This isn't just about backups; it's about designing a system that can withstand failures. You should think about a distributed service architecture over a single server dependency.

GridAdventurer -

Yeah, it sounds like a good starting point would be to split your database into its own managed cluster first. Once you have that stabilized, then scale out your application instances behind a load balancer for better resilience!

Answered By CloudMaster3000 On

I’ve got to disagree with the whole 100% uptime scenario. Achieving true 100% uptime is nearly impossible without serious investment in resources, like running on multiple redundancy layers. Things can and will go wrong occasionally!

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.