Let’s start by understanding about few terminologies and some facts related to this article and come on common ground.

  • Hashing is the practice of taking a string or input key, a variable created for storing narrative data, and representing it with a hash value, which is typically determined by an algorithm and constitutes a much shorter string than the original.
  • Web caching is the activity of storing data for reuse, such as a copy of a web page served by a web server. It is cached or stored the first time a user visits the page and the next time a user requests the same page, a cache will serve the copy, which helps keep the origin server from getting overloaded. Imagine visiting e-commerce, where the page is being requested over and over again, it’s wasteful to repeatedly download it from the server. An obvious idea is to use a Web cache, which stores a local copy of recently visited pages. If there is a local copy already present there is no need to hit the server and the response will be faster from a local copy creating a win-win situation for all.
  • Distributed System as said by Andrew Tanenbaum is:

A collection of independent computers that appear to its users as one computer.

  • Distributed systems consist of multiple computers that operate concurrently, fail independently, and do not share a common clock. They must be synchronized to be consistent.

The original motivation for consistent hashing (in 1997) was Web caching. The idea has real applications. Consistent hashing gave birth to Akamai, which to this day is a major player in the Internet, managing the Web presence of tons of major companies. (Quantitatively, Akamai serves 10–30% of all internet traffic).

#consistent-hashing #computer-science #hashing #system-design-project #tech #data science

How does Consistent Hashing help
1.20 GEEK