• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

springbatch partition vs pararell 질문드립니다.

23.05.06 17:49 작성 조회수 250

0

안녕하세요. 정수원 강사님
스프링 배치 강의 잘 보고 있습니다. 많은 도움 받고 있어요. 정말 감사드립니다.

토이 프로젝트를 진행하고 있는데 막상 구현하려니 쉽지 않네요. 어떤식으로 설계하면 좋을지 조언 구합니다.

구현하려는 부분은 아래와 같습니다.

  1. rest api로 가맹점 5곳에 각각 api를 호출하여 주문id의 총 개수와 주문id 목록( total number of orderId and orderIds)을 가져와서 DB에 저장합니다.

  2. 가맹점 5곳에서 받아온 total number of orderId and orderIds 를 DB에서 조회해와서 해당 목록을 chunk 사이즈로 나누어서 각각 rest api로 가맹점 5곳에 호출하여 목록을 가져와서 DB에 저장합니다.

partiton과 pararell step을 이용해서 구성하려고 하는데 설계부터가 만만치 않네요.
1은 pararell step을 이용하여 병렬로 각각 수행하도록 구현하려고 하고, 2는 총 개수와 grid 개수를 가지고 pagination 혹은 partiton을 이용해서 구현하려고 하는데 어떻게 해야할지 감이 잘 안 잡힙니다. 혹은 혼합하여 사용할 수도 있을까요? 강사님께서 부연설명 덧붙여 주신다면 큰 도움이 될 것 같습니다. 감사드립니다.

답변 1

답변을 작성해보세요.

0

1번과 2번 모두 구현하고자 하는 것이 정확하게 어떤 것인지 조금 더 구체적으로 단계별로 나누어 설명 가능할까요?

그리고 병렬 수행을 위의 경우처럼 혼합해서 사용하는게 성능이나 안정성 관점에서 볼 때 확실한 장점으로 작용할 수 있을지 알기가 쉽지 않을 것 같습니다. 병렬 수행을 선택할 때는 목적이 분명해야 합니다

하나의 스텝안에서 청크프로세스를 병렬화할 것인지 아니면 여러개의 스텝을 각 스레드로 분리해서 병렬화 처리를 할 것인지를 먼저 결정해야 합니다 이 두가지 방식은 서로 다른 병렬화 개념이기 때문입니다