If it's on your primary node and you need to do updates, then all your other nodes will also go down.
If it's on a separate node (possibly along with NFS/DB) then you can add/remove/restart your web nodes etc as needed.
What does 1000 simultaneous mean to you? Is that 1000 users on the site at the same time (in the last 5 minutes), 1000 users clicking through to start an exam at the same time, or 1000 users enrolled in a course and probably not online at the same time.
We can manage around 1000 users starting a quiz at the same time using NFS so that isn't going to be your issue. BUT it's a much easier set up if you don't have to manage multiple instances.
First step, don't use Apache Prefork. You need to be looking at the Event MPM and then also set up PHP-FPM for requests to be proxied to it.
The default Event/PHP-FPM config can only do about 100 concurrent users according to anecdotal evidence seen here on the forums. I have other replies to threads where the how to on configuring these is explained. There are also numerous good guides on that.
The main point, if DB is on your single server too, you need to account for all RAM to be less than OS + DB + Apache + PHP otherwise you will start to swap memory and that is bad.
The actual configuration of Event/PHP/MySQL will depend on your DB size, memory available, disk speed (and mechanical/SSD), CPU cores, etc.
Back in regards to Redis, if you are using it on the same instance as the MUC, the MUC will do cache purges and that will then also purge your user sessions. With Redis you should be able to use a different prefix and get around that, but to make more use of Redis being single threaded, we run three different Redis instances. That way each instance has their own purpose and specific configs.