Разработка масштабируемого, высоко обновленного ресурса на DHT в паре ключ / значение - PullRequest
0 голосов
/ 24 апреля 2011

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

Основная проблема в том, что я не вижу, как это возможно! Я мог бы разгрузить эти узлы, добавив кэш чтения и обновляя их в медленном темпе, но для записи я понятия не имею, как масштабировать, потому что значения должны быть в известных ключах, которые должны быть восстановлены пользователями, и поэтому я не могу разделить нагрузку на DHT ...

Большое спасибо за ваши идеи!

1 Ответ

0 голосов
/ 25 апреля 2011

Спустя какое-то время

одной из возможных идей было бы сделать что-то приблизительное, каждый раз, когда кто-то хочет опубликовать ленту новостей, он также публикует ленту с ключом, равным метке времени, представляющей секунду (как 25/03/2011 в 5 минут и 1 секунду) в котором он разместил ленту новостей, чтобы нагрузка автоматически распределялась между узлами, а ответственный узел быстро менялся.

Когда кто-то хочет узнать последние опубликованные каналы, он просто проверяет временную метку фактической секунды и 2-3 прошедшей секунды и, таким образом, может восстановить последние каналы, распределяя нагрузку между узлами, ответственными за разные секунды ...

Это должно сделать работу, я думаю :).

Надеюсь, мой собственный ответ поможет кому-то позже;)

...