GeoServer is a great piece of software, and core developers hit bugs every day, enhancing existing functions and delivering new capabilities. Despite all of this work and the careful configuration of your site, failing is always a risk. It is just a matter of time before you encounter a failure preventing your GeoServer from delivering maps. In the simplest case, it will only affect some specific requests; more often, it will halt it for a while, and, sometimes, you will need to restart it to get it working again.
It happens to almost all software applications that you will have worked with, either proprietary or open source, free of charge or very expensive. Avoiding faults is out of your control, but you should learn how to manage them to avoid service interruptions.
A high availability or fault-tolerant configuration is what you need. Indeed, this is...