Я отвечу на первую часть вашего вопроса. Прежде всего, в этом коде есть некоторые ошибки, поэтому я хотел бы найти лучший пример.
Использование сервера кеша в качестве примера.
Когда вы думаете о последовательном хешировании, вы должны думать о нем как о круглом кольце, как это делает статья, на которую вы ссылаетесь. При добавлении нового сервера на нем не будет данных для начала. Когда клиент выбирает данные, которые должны быть на этом сервере, и не находит их, происходит ошибка кэширования. Затем программа должна заполнить данные на новом узле, поэтому будущие запросы будут попадать в кэш. И это все, с точки зрения кэширования.