Skip to content

engine-it-in/graphql-client-data

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

graph-ql-data

Сервис для демонстрации работы с протоколом 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

About

Service with graphql client for get and processing data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages