Подходит ли Zookeeper для кэширования объектов?

Разработка облачной системы с внимание на масштабируемость означает, что система состоит из сервисов на основе REST вдоль функциональных границ (usermgmt, ordermgmt, customermgt и т. д.), каждый из которых имеет свою собственную базовую базу данных, и в зависимости от нагрузки можно предположить, что мы можем запустить несколько экземпляров, скажем, службы ordermgmt. . Когда служба ordermgmt обрабатывает запрос на добавление заказа (от имени «клиента»), она выполняет REST-вызов службы customermgmt для проверки клиента и т. д.

. часто я задаюсь вопросом, будет ли что-то вроде ZooKeeper подходящим для кэширования экземпляра конкретного клиента, который несколько экземпляров службы customermgmt могут опрашивать перед попаданием в базу данных. Я просмотрел различные списки использования Zookeeper, но не вижу, чтобы кто-то использовал его для кэширования объектов. Похоже, что рекомендуемый размер znode в байтах составляет примерно 1 КБ, что делает его непригодным для хранения обезвоженного объекта. Также нет поддержки GC или LRU из коробки, поэтому мне нужно было бы добавить и это.

Если не Zookeeper, какие еще подходящие предложения? Мы используем Hibernate в качестве ORM, но у нас нет большого опыта работы с ним, и хотя он поддерживает кеши 1-го и 2-го уровня, я не уверен, что они работают распределенным/реплицированным образом в нескольких экземплярах службы. .

Спасибо Scott

11
задан Scott Kellish 11 June 2012 в 19:57
поделиться