In todays podcast we are going to talk about the 503 HTTP Status Code.

Error 503 = Service Unavailable

From the W3C: The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD handle the response as it would for a 500 response.

Causes

  • DDOS attacks will result in high resource usage which will eventually overload the server. As a result the server will respond with a 503 error code.
  • A server might be temporarily un available if it is under going maintenance. Its a server issue and not a client issue. So this wouldn’t be an issue with the HTML or CSS or client sided JavaScript Trouble shooting
  • Check any monitoring dashboards or graphs for resource hungry trends. - Check the logs to find any server related errors.
  • Check the logs for access requests to see if its a spike in traffic.
  • Check if the server is going through an unexpected maintenance
  • Check for firewall config. Perhaps a firewall on the network is preventing traffic from flowing.
  • Check for long running scripts that could be causing memory leaks.
  • Check for disk usage. Perhaps you are running out of swap space if that’s configured.

Solutions

  • Stop any jobs that are running
  • Divert traffic using a load balancer to another server -
  • Scale your application horizontally by bring on other servers/containers to handle the traffic
  • Have an auto scaler which keeps adding or removing servers/containers when needed - Reboot the server/container

Resources:

https://thevaluable.dev/dry-principle-cost-benefit-example/

https://metova.com/dry-programming-practices/

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch