Я внедряю REST API с использованием Spring Boot и @RestController
с Java 8. Один из методов контроллера должен вызвать другую стороннюю службу REST API. Метод описан следующим образом (формат данных - JSON):Spring @RestController вызывает большое количество запросов
- Вызвать сторонний метод API для получения списка кандидатов (каждый кандидат представлен как объект с некоторой базовой информацией).
- Для каждого кандидата вызовите другой сторонний метод API, чтобы получить более подробную информацию о кандидате.
- Сбросить результаты, по существу «обогатив» все объекты-кандидаты с первого вызова.
- Верните список объектов-кандидатов-обогатителей.
Я планировал использовать @RestTemplate
для всех приглашений на сторонний API. Я обеспокоен тем, что для большого числа кандидатов (скажем, 500-1000) это станет огромным узким местом производительности, которое будет блокироваться. Я не совсем уверен, что рекомендуемый подход для достижения наилучшей производительности. Как я могу масштабировать это, так что несколько пользователей могут одновременно обращаться к моему API?
Спасибо! Это очень освещающий пост; Я прочитаю учебники и узнаю о RxJava и Retrofit2. Может ли это вписаться в среду Spring Boot? Я наткнулся на этот [post] (https://spring.io/blog/2016/01/04/springone2gx-2015-replay-introducing-rxjava-into-a-spring-boot-rest-api), который, кажется, ручается для интеграции, но мне было интересно, есть ли у вас собственный опыт в этом отношении. –
Да, конечно. Дооснащение можно легко использовать с Spring Boot. Вам просто нужно создать экземпляр OkHttp3-клиента, а затем использовать его для создания клиента Retrofit2 REST. Этот клиент должен быть Spring Bean - тогда его просто типичный Spring DI. Те tutorisls покрывают это хорошо. –