С Hazelcast, что лучше, одна большая карта или много маленьких карт? - PullRequest
1 голос
/ 22 декабря 2010

Я хотел бы создать систему ограничения скорости, которая может ограничивать скорость запросы к нескольким серверам. Для этого я хотел бы создать счетчики (1 счетчик для каждого ip адрес) таким образом, все серверы могут проверять и обновлять эти счетчики.

Мой вопрос: каков наилучший подход, создайте одну карту и используйте ip адрес клиента в качестве ключа и счетчики для этого IP будет в java object.that объект будет значением для записи карты.

или

создать карту для каждого IP-адреса и использовать имя счетчика в качестве ключа и значение счетчика как значение для записи (int)

мой ключевой приоритет - скорость. извлечение объекта счетчика и увеличение должно быть сделано очень быстро.

так что лучше? много маленьких карт или одна большая карта?

Я надеюсь, что кто-то может помочь мне с этим.

С уважением,

Маартен

1 Ответ

0 голосов
/ 24 декабря 2010

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

Вы могли бы взглянуть на интерфейс AtomicNumber в Hazelcast 1.9, но я не знаю, можете ли вы создать сколь угодно много из этих объектов (или даже можете ли вы распоряжаться ими после создания).

Лучше всего использовать HAProxy или аналогичный балансировщик нагрузки для реализации правил регулирования перед серверами приложений.

...