Мы используем хранилище данных в памяти, возможно, Hazecast или Redis (технология пока не определена). Преимущественно хранилище данных в памяти будет использоваться в качестве поставщика Cache, но также и в качестве вычислительной платформы для запуска некоторой аналитики. Hazelcast / Redis предоставляет свои собственные нативные клиенты, которые позволяют тонко манипулировать содержимым сетки. Было бы излишним оборачивать экземпляры hazelcast / redis в Jetty, предоставляя интерфейс rest, и не обеспечивает прямой доступ для клиентских приложений к Hazelcast / Redis? Ответственность контроллера REST будет заключаться в том, чтобы получить запись, применить фильтр и, в случае отсутствия кэша, получить запись из базы данных, например.
Функциональность, предоставляемая приложениям, будет «Только чтение» + некоторые задания, включающие более одного ключа (аналитика).
Таким образом, в основном клиентские приложения не должны напрямую обновлять содержимое сетки. Или, если это произойдет, это будет очень редко и, возможно, будет результатом задания, которое в любом случае будет выполняться на выбранном решении в памяти.