REST проект с использованием netty
Дана пирамида:
Каждый элемент имеет массу 50 кг. Нужно узнать по номеру элемента и номеру уровня какую нагрузку он испытывает.
GET /weight?level={level}&index={index}
GET /weight/{level}/{index}
где:
level[int,level>=0,index<level] номер уровня
index[int,index>=0] порядковый номер элемента
java -jar my_application.jar <адрес> <порт>
Происходит валидация входящих параметров, затем пытаемся найти значение в кэше, если его там не оказывается, то происходит вычисление. Вычисление осуществляется с использование динамического программирования. Массив содержит две строки, значения предыдущего уровня и текущего.
Для предотвращения ситуаций saturated outbound на исходящий и входящий трафик установлено ограничение в 100 кб/сек на одно соединение.
- java se 8
- framework netty
- spring di
- junit
- log4j2
- maven
- caffeine (реализация кэша)