Services Returned to Normal and Multiserver Preparations
Services are working as normal once more
Now that everything is operating normally, it's preparation time to deploy the cluster. This means that @steemdunk will be running on multiple servers for higher availability, hurray! If you are encountering any issues, please report them on Discord.
Cluster (multi-server) preparations
This has been planned for quite a while and has even paused development of new features on the platform until it was completed and deployed. Service uptime is still a high priority for all users and the last milestone has been reached for the preparations to be made. The milestone was the completion of a specialized cluster system. The delay has come from a new system for creating a cluster with stateless apps that has been in development for the past few weeks.
Setting up a cluster for the database
This is the first step that needs to be done for steemdunk. The two apps (bot and front end) that power steemdunk are stateless by itself and stores all data in a database. The db requires use of native clustering features to keep the data synchronized between multiple servers. The database that steemdunk uses in particular is ArangoDB. It currently runs in single mode (in other words, one server) and will be converted to use clustering. Data will remain synchronized with synchronous replication to ensure consistency on all machines.
Setting up a cluster for the bot and front end
After the database cluster is setup, the front end and bot are next to setup in a cluster.
I've been developing a specialized cluster daemon to turn (almost :) anything into a cluster, created specifically for steemdunk but can be used for anything. This system will be used for the bot and the front end web server. It was a project that was in the works for quite a while for cases exactly like this to minimize downtime. While it is rough around the edges (hard to setup), the majority of time went to ensuring it was as reliable as possible under different environments (this doesn't mean it's perfect). If for some reason it were to fail, I can take the server out of the cluster and manually deploy to avoid the downtime.
Read more details: Cluster Daemon - Creating an Automated Failover System - part 1
A big thank you for our premium users!
This project will continue living with your direct support. Premium helps support the hosting costs directly so the service will be as reliable as possible.
Running a witness
Please consider voting @samrg472 as witness! Hours of my time is dedicated to making @steemdunk the greatest it can be and hosting is expensive! There's still a lot to be done, by voting me for witness, you will help expand the service and keep the service cheap for our premium users! Click me to vote using SC2
Join the party on Discord
Come hang out with the steemdunk community. :)
Official invite - https://discord.gg/hT7gw4B