Распределенный счетчик на AWS - PullRequest
3 голосов
/ 24 ноября 2011

У меня есть несколько экземпляров службы, запущенной на нескольких экземплярах EC2, и мне нужен глобальный счетчик, к которому могут обращаться все экземпляры службы.Счетчик должен поддерживать операции установки / сброса и увеличения.Моя первая попытка построить это была с использованием SimpleDB, где атрибут в SimpleDB хранит значение счетчика.Но SimpleDB оказывается слишком дорогим для этого, так как я ожидаю очень большое количество запросов на доступ к счетчику.Большинство запросов к счетчику являются запросами на получение с очень небольшим количеством запросов, фактически изменяющих значение счетчика.

Другой вариант, о котором я думаю, это использовать memcache для кэширования значения счетчика и использовать SimpleDB в качестве постоянного хранилища для счетчика.Это должно значительно сократить количество обращений к SimpleDB.Но так как у меня действительно нет никакого другого использования memcache или SimpleDB в моем сервисе, кажется, что мне нужно излишне управлять двумя дополнительными компонентами для небольшой функциональности.

Есть ли стандартное решение этой проблемы?

Ответы [ 2 ]

0 голосов
/ 08 мая 2012

Мы наконец решили использовать SimpleDB. Это было довольно просто и хорошо служило нашим потребностям.

0 голосов
/ 23 января 2012

Redis имеет постоянное хранилище, если вы не получите 100% использования памяти, вы не столкнетесь с проблемой. Вы также можете выполнять резервное копирование, ведение / подчинение и вывод базы данных в Redis.

...