• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Redis cluster 와의 연동은 어떨까요?

22.04.20 23:01 작성 조회수 262

0

안녕하세요.

jdbc 등은 사용하지않고 redis cluster 를 케시디비로 사용하여 step 에 서 동작하도록 추가하고자합니다.

Srping-batch 에서도 redis 를 사용하는 내용은 어떤내용을 참고하면 좋을까요?

답변 1

답변을 작성해보세요.

0

저도 스프링 배치에서 redis 를 사용해 본 적이 없어 답변을 드리기가 어렵네요

다만 스프링 배치에서의 청크 기반 프로세싱을 정확하게 이해하고 있다면 RDBMS 가 MemoryDB 로 바뀌었을 뿐 연동하는 로직은 다를 수 있으나 원리나 흐름은 크게 차이나지 않을 것으로 생각합니다.

ItemReader 와 ItemStream 을 구현해서 open() 메소드에서 redis 를 초기화 및 기본 설정을 하고  read()  에서 데이터를 타입에 따라 한 개씩 가지고 오도록 구현하고 ItemWriter 에서도 마찬가지로 ItemStream 을 구현해서 open() 메서드에서 준비 과정을 거치고 write() 에서 Redis 로 쓰기 작업을 구현하면 되지 않을까 합니다.

그리고 모든 청크 과정이 종료하면  ItemStream 의 close() 에서 종료 작업을 구현하시면 됩니다.

한가지 팁을 드리자면 스프링 배치에서 이미 제공하고 있는 구현체들을 분석하시면서 jdbc 나 jpa 에서 처리하는 방식을 redis 로 변경한다고 가정했을 때 어떻게 구현하면 되는지를 고민하시면 많은 도움을 얻으실 수 있다고 생각합니다.

이 같은 경우는 오히려 스프링 배치보다 redis 에 대한 깊은 이해를 더 필요로 할 것 같습니다.

정확한 답변 드리지 못한 점 양해 부탁드립니다.