배경
공모에서 마켓으로 전환하는 과정에서의 자동화 서비스가 필요하다.
현재 우리 서비스를 보게 되면 백오피스가 필요한 부분이 존재하고 있다. 예를 들어, 오늘 마감이 되는 공모들에 대하여 수집을 한다던가, 마감된 공모가 발생을 한다면 해당 공모를 종료하고 마켓을 생성하는 것 등등 있다. 또한, 공모가 마감이 되면 자동으로 해당 공모에 참여한 사람들에게 주식을 분배하는 작업도 필요하다. 즉, 우리가 필요한 부분은 공모에서 마켓으로 전환하는 그 시점에서의 자동화가 필요한 것이다.
목표
실행 시점
수행할 Task
- 해당 날짜에 마감되는 공모 정보 수집
- 종료한 공모 발생 시
- 공모에 참여한 사람들에게 공모 결과를 알려줌
- 마켓으로 전환
고려할 사항들
1. Task의 우선순위를 정하여야 한다.
- 마감되는 공모 정보 수집과 종료한 공모 처리 둘 중 어느 것이 더 우선이라고 봐야할까?
- 일단, 두 Task의 시점이 다르다는 점을 인식해야 한다. 예를 들어, 25일 00시에 실행을 한다고 하면 종료한 공모는 24일으로 보면 되고 마감되는 공모는 25일이라고 볼 수 있다.
- 결론 : 마감되는 공모 정보와 종료한 공모는 서로 다른 Job이다
- 그러면 서로 다른 2개의 Job을 처리한다고 치고 종료한 공모 처리하는 Job을 수행할 때 (1) 공모에 참여한 사람에게 공모 결과를 알려주는 것과 (2) 마켓으로 전환하는 것 2가지가 존재한다.
- 기본적으로 (1)이 수행이 되어야 (2)이 수행되는 구조로 되어 있다.
2. 휘발성인 데이터인가?
마감되는 공모정보, 종료한 공모 Job을 수행하면 이 데이터는 저장하는가
- 마감되는 공모정보의 경우, 수행 시점을 기준으로 24시간 동안 보여주게 된다. 따라서, 데이터베이스에다가 따로 저장을 하고 가져오게 되면 해당 데이터를 읽는 작업이 클라이언트마다 발생을 하기 때문에 연결 과정에서의 부하가 많이 발생을 하게 된다.