Unsure about how to split services into multiple droplets

June 28, 2019 361 views
Java Apache MySQL

Hello!

Im currently running my entire setup on one large dedicated server and Im planning to move everything into multiple droplets. The reason for that is that I mainly wanna give other people access to specific services.

My Services:

  • 4+ Wordpress Sites (All Sites are very small) [Apache + MySQL]
  • Java powered Web Crawler
  • MySQL [For Discord Bot + Web Crawler]
  • Discord Bot

Choice A:

  • 1# 2GB Droplet [4+ Wordpress Sites] + [MySQL]
  • 2# 2GB Droplet [Web Crawler] + [MySQL]
  • 3# 1GB Droplet [Discord Bot]

Choice B:

  • 1# 2GB Droplet [4+ Wordpress Sites]
  • 2# 1GB Database Droplet
  • 3# 1GB Droplet [Discord Bot]
  • 4# 2GB Droplet [Web Crawler]

My Question:

Im not too sure whether I should install a mysql server on multiple droplets or If I should have one seperate database droplet.

3 Answers

Hi there @TechsCode,

Im not too sure whether I should install a mysql server on multiple droplets or If I should have one seperate database droplet.

Honestly, I think this comes down mostly to personal preference more than anything else. However, you should also consider the usability of each setup in the context of how you want to use it.

Personally, I would probably use a single, centralised database server for everything, so when I go to make backups of my database, I only have one server that I need to back up to complete this task.

Additionally, if you ever decided to host a website that relied on data within your bot’s database server, its all in the single db server and so connections can be simplified etc.

I hope that helps somewhat in guiding the decision you make!
- Matt.

Im thinking about maybe installing a mysql server instance on the website droplet since those websites are pretty much completely seperate from the rest.

I wouldn’t use a single droplet for your database. I’d recommend having 2 identical droplets with MySQL replication using master/master setup.

This will give you a resilience in the event of a server failure, and will allow you to take a DB server offline for upgrades (i.e. patching) without causing an outage.

Have another answer? Share your knowledge.