G
G
GrossmasterR2020-01-09 20:29:05
Java
GrossmasterR, 2020-01-09 20:29:05

Preemptive cache for a highly loaded system?

Dear habrchane, hello!
Need your advice.
You really need to do a test.
Knowledge level: +- basics of JDBC and servlets without Spring.
Spoiler quest. In which direction to dig, please tell me?

Preemptive Cache for a Highly Loaded System
Задача 1.
Вытесняющий кэш для высоконагруженной системы
Введение:
Бэкенд приложение с сравнительно большой нагрузкой должно иметь доступ к горячим данным для отображения и произведения несложных вычислений, перзистивное хранение осуществляется в СУБД. Любой доступ к горячим данным потенциально влечет за собой вызов запроса из СУБД, что является узким местом производительности. Для решения этой проблемы приложение должно иметь механизм хранения горячих данных, призванное сократить количество запросов к БД.
Что нужно сделать:
Спроектировать и реализовать модуль реализующий вытесняющий кэш.
Модуль должен предоставлять публичное апи. Внутренняя реализация должна быть скрыта от других модулей.
Вариации:
Структуры данных должны быть оптимизированы для массового паралельного доступа (память можно не экономить).
Структуры данных должны быть оптимизированы по памяти (скорость обращения, оптимизация работы сборщика мусора).
Структуры данных должны быть оптимизированы для хранения разных POJO типов.
Структуры данных должны быть оптимизированы для быстрой инвалидации. (скорость обновления по запросу).
Структуры данных должны быть спроектированы для быстрого поиска и вычислений.
(Повышенной сложности) Структуры данных должны иметь возможность быть разделены между двумя Java процессами.
Критерии оценки:
Код должен быть написан согласно какому либо стандарту (ссылку можно прикрепить).
АПИ должно быть документировано в Java DOC.
Код должен быть покрыт юнит тестами.
Код должен быть покрыт нагрузочными тестами.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
D
Dimonchik, 2020-01-09
@dimonchik2013

do you need a code?

I
Iloveski, 2020-01-10
@Iloveski

And why does the ready cache not suit you? For example from guava?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question