Сервис для демонстрации работы с протоколом Graph Ql;
Сервис реализует:
- Загрузку данных от Graph Ql сервера;
- Аутентификацию;
- Кеширование (Redis) и отправку данных в Kafka:
- Данные кешируются на разный срок, в зависимости от значений полученных данных;
- В Kafka отправляются данные, которые запрошены из внешнего источника;
- Кеширование и отправка данных происходит параллельно;
- Spring boot 3;
- Spring WebFlux - spring-boot-starter-webflux;
- Spring Graph Ql - spring-boot-starter-graphql;
- Redis - spring-boot-starter-data-redis;
- Kafka - spring-kafka;
- Java 21;
- Maven;
- Custom starters for auth;
- Получили запрос;
- Запросили Graph Ql сервер;
- Получили данные;
- Проверили, есть ли они в кеше;
- Есть - отдали потребителю → Конец;
- Нет
- Запросили у клиента;
- Получили содержательный ответ -> параллельно:
- Положили в Redis реактивно;
- Отправили в Kafka реактивно;
- Заблокировали поток - отдали потребителю → Конец;
Участник | Контакт |
---|---|
Никитин Иван | nikitinia@alfastrah.ru |