@cpitman
You can use HaProxy, KeepAlived and MySQL clustering to spread the load. You can also front Mattermost with nginx by configuring nginx as a loadbalancer.
But to be honest for the numbers that you've suggested you don't need to do any of that. A single machine (for mattermost and database each) should be able to support 10k users.