is a system with multiple components located on different machines that communicate and coordinate actions in order to appear as a single coherent system to the end-user.
independent computers. [M] is the practice of dividing a piece of software into small, independent, and functional services. [D] are difficult to update, they run on machines. [M] are easier because they are updated and deployed independently [D] the failure of one server may affect other servers. [M] the failure of one service can indirectly affect other services.
operates independently of the number of servers or objects in a distributed hash table by assigning them a position on an abstract circle, or hash ring. This allows servers and objects to scale without affecting the overall system. Consistent hashing facilitates the distribution of data across a set of nodes in such a way that minimizes the re-mapping/ reorganization of data when nodes are added or removed.