Разработка облачной системы с учетом масштабируемости, означающей, что система состоит из служб на основе REST по функциональным границам (usermgmt, ordermgmt, customermgt и т. Д.), Каждая из которых имеет свою собственную базовую базу данных и в зависимости от нагрузки, ее предположительно, что мы можем вращаться несколько экземпляров, например, службы ordermgmt. Когда служба ordermgmt обрабатывает запрос на добавление заказа (от имени «клиента»), он сделает запрос REST к службе customermgmt для проверки клиента и т. Д.Является ли Zookeeper подходящим для кэширования объектов?
Поскольку объект клиента не изменился очень часто мне интересно, подходит ли что-то вроде ZooKeeper для кэширования экземпляра конкретного клиента, чтобы несколько экземпляров службы customermgmt могли допросить, прежде чем попасть в базу данных. Я просмотрел различные списки Zookeeper, но не вижу, чтобы кто-то использовал его для кэширования объектов. Кажется, что рекомендуемый размер znode байтов составляет приблизительно 1K, что делает его непригодным для хранения обезвоженного объекта. Также нет поддержки для GC или LRU из коробки, поэтому мне также нужно будет добавить это.
Если нет Zookeeper, более подходящие предложения? Мы используем Hibernate как ORM, но у нас нет большого опыта работы с ним, и хотя он поддерживает кеши первого и второго уровней, я не уверен, что они работают распределенным/реплицированным способом в нескольких экземплярах службы ,
Благодаря Скотт