load balancer/reverse proxy Flashcards
What is a load balancer
Ensures high availability by distributing traffic to two or more servers
Big bang deployment
Deploy all changes into production all at once
Continuous Deployment
automatically deploy new versions at fixed times
Blue green deployment
new and old version run in parallel with a load balancer, once new version is fully tested and complete, load balancer will move traffic to the new one
canary deployment
similar to blue green deployment but traffic is slowly moved to the newer version by the load balancer
shadow development/dark launching
Shadow api is fed data from the live api in order to test the shadow api with live data.
ramped deployment/rolled deployment
The servers are slowly updated with the new version, either gradually increase percentage (ramped) or update each server (rolling)
recreate deployment
Old version is shut down and new version is installed before turning on the servers again
A/B testing development
random group of users are given access to the new version while the rest continue on old version
What is a reverse proxy server?
Sits in front of one or more servers and passes client requests to those servers and responses back
how do you setup reverse proxy server in nginx?
proxy_pass directive specifies the location of the server that you want to pass to
what does proxy_set_header do?
allows you to pass headers from the original request to the proxy server
Why would you use a load balance?
- Failover: A server crashes and the load balancer can redirect traffic elsewhere
- Server monitoring: Monitors health of servers and distributes traffic based on health