Proxies in Distributed Systems
A proxy server is an intermediary piece of hardware/software sitting between the client and the backend server. Prior to discussing types of proxies let us get familiar with a few terminologies to better understand the concept.
- Filter requests: It runs every request through a filter, looking up each address in its database of allowed or disallowed sites, and it allows or blocks each request based on its internal database. A system administrator can configure the proxy server to allow or block certain sites.
- Log requests: Transform requests (encryption, compression, etc)
- Cache: A caching proxy server can also improve web performance by caching frequently used pages so the user request doesn’t have to go all the way out to the Internet at large to get some of the data it needs to display a particular page.
- Batch requests: Collapsed forwarding: enable multiple client requests for the same URI to be processed as one request to the backend server.
Collapse requests for data that is spatially close together in the storage to minimize the reads - Security: A proxy server can also be used to beef up security for a business. A proxy server can provide network address translation, which makes the individual users and computers on the network anonymous when they are using the Internet. This makes it much harder for hackers to access individual computers on the network.
Web Server, Proxies and their role in Designing Systems
In system design, web servers and proxies play crucial roles in ensuring efficient communication and scalability. Web servers, like Apache or Nginx, serve as the backbone of client-server interactions, handling requests and delivering content. Proxies act as intermediaries, managing traffic flow, improving performance, and enhancing security by caching and load balancing. Together, they form the core infrastructure of distributed systems. Understanding their roles and integration is fundamental for designing resilient and high-performing systems.
Important Topics for Web Server, Proxies and their role in Designing Systems
- Webservers
- Types of Webservers
- How web server Work?
- Use Cases of web servers
- Examples of Web Servers
- Proxies in Distributed Systems
- Types of Proxies
- Disadvantages of Proxy Server