Kafka 로 스케줄러 <-> 매니지먼트 간에 이벤트를 통해 데이터 동기화 하는 방식으로 변경
스케줄러는 실패하는 경우 롤백을 할 수 없기 때문에 kafka에 적재 후, 매니지먼트 서비스가 정상적일 때 처리하도록 변경
도메인 별로 모듈을 분리하여 추후 리팩토링이 유용하도록 구성
하위 기능 모듈 및 도메인 모듈을 조합하여 애플리케이션 모듈을 구성하는 방식으로 변경하여, 추후 리팩토링 및 구조 변경에 유용한 구조로 설계
각 모듈 별로 설정 파일을 개발/운영 환경에 맞게 분리하여 하나의 설정 파일(yml) 에 밀집되지 않도록 하여 가독성을 높임
로직에 따른 모든 예외는 Application 단으로 전달하여 application 단에서 예외에 대한 처리를 하도록 구조를 설계 및 구현
수정 예정 사항
현재 구조로 운영 서버에 배포를 하였지만, 서버 리소스의 한계로 원할한 서비스가 불가능할 것으로 예상
Task 모듈의 데이터 스토리지를 Redis 로 변경
Code 모듈의 데이터 스토리지를 Mysql 로 변경
위 두 모듈이 사용하는 Mongo DB 를 걷어내는 방향으로 구조 변경 예정
management-internal(내부 API), management-worker(스케줄러) 의 분리의 필요성이 보이지 않음
Feign client 를 통해 내부 API 통신을 위해 management-internal 를 구성했지만, worker 에서만 요청을 보내기 때문에 management-internal 과 management-worker 를 하나의 application 으로 병합하는 방향으로 구조 변경 예정
개요
수정 예정 사항
수정 후 예상 결과