Detect Cloud Servers' Resource Availability-Dynamic Routing

Dear all,
I’m going to use Mikrotik as a load balancer for a cloud of web apps. I wanna check the availability of resources on each server (CPU & Ram) to send the new incoming requests to the best server. The Mikrotik should also return a web service unavailable code (503 for example) to the users; whenever, all servers are busy.

How can I do this?

Thanks all