117 - Service Unavailable - podcast episode cover

117 - Service Unavailable

Jun 18, 202130 minSeason 4Ep. 117
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

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

For the best experience, listen in Metacast app for iOS or Android