title: Splitting load of an API between multiple servers
body: <p>I'm planning to build an API for one of my projects. But I'm looking for a good way to manage it, and manage server load.</p>
  
  <p>Would I be better off just creating everything on one server, or should I create multiple?</p>
  
  <p>Thoughts:</p>
  
  <p>If I create one server and that server crashes, the whole system would go down. But if I create multiple servers to handle this, and one of them crashes, only that part would go down.</p>
  
  <p>How I was thinking to accomplish this:</p>
  
  <p>1) Create one API ENDPOINT</p>
  
  <p>2) When a user sends a REQUEST to that API ENDPOINT, the ENDPOINT would send another request to the correct server containing the special task, when the task is done it would return the data back to the user.</p>
  
  <p>AKA:</p>
  
  <p>User => ENDPOINT => ENDPOINT 1, ENDPOINT 2, ENDPOINT 3, => ENDPOINT => User</p>
  
  <p>Is this how I should do it?</p>
  
  <p>P.S. I don't know if this the right terminology but I'm trying to learn how to scale my ENDPOINTS/API/code. </p>