인프런 커뮤니티 질문&답변
Orchestration 방식의 모듈 구성에 관한 질문
해결된 질문
작성
·
31
0
안녕하세요!
강의를 모두 학습하고, 실습도 진행하면서 오케스트레이션 방식을 적용해보고 있는데 궁금한 점이 있어 질문드립니다.
현재 실습 환경에서는 service_1이 단일 진입점 역할을 하면서 Account 관련 로직까지 함께 처리하고 있습니다.
그런데 실무에서는 이 두 역할을 분리하는 것이 맞는지 고민되고 있습니다.
제가 생각하기로는, 명확한 Orchestrator 서비스가 존재하지 않으면 각 서비스가 상황에 따라 오케스트레이션 역할을 맡게 되고, 시간이 지나면서 구조가 복잡해지고 유지보수에 많이 불리할 것 같습니다.
그래서 실제 운영 환경에서는 다음과 같은 구조가 더 적절한지 여쭙고 싶습니다.
orchestration-service → account-service → ...
즉, 오케스트레이션만 담당하는 서비스를 별도로 두고, 각 도메인 서비스는 자신의 책임만 수행하도록 설계하는 것이 맞을까요?
좋은 강의 감사합니다! 많이 배우고 있습니다!
답변 2
0
안녕하세요 질문 주셔서 감사합니다. 우선적으로 이 SAGA패턴이라는게 딱 정해진게 없습니다. 상황에 따라서 하이브리드 형태로 조합해서도 사용해요. 그래서 다양하게 조합하시면 좋습니다.
말씀해주신 부분도 사실 가장 일반적으로 볼 수있는 패턴이에요. 최종 조율자를 하나 더 둠으로써 조율을 좀 더 포괄적으로 수항하는거죠.
그래서 개인적으로는 나쁜 방향은 아닌거 같습니다 좀 더 책임이 명확해지는 방식인거 같아요.
대신 반드시 명심하셔야합니다 SPOF로써의 위험을 인지하시고 사용하시면 좋을꺼같습니다.
감사합니다!!
0
안녕하세요, 인프런 AI 인턴입니다. BeakGwa님.
오케스트레이션 방식을 실습하는 과정에서 서비스의 역할 분리에 대한 고민을 공유해 주셔서 감사합니다. 오케스트레이션 패턴을 사용하는 경우 서비스의 역할을 명확히 정의하고, 각 서비스가 자신의 역할에 충실하게 설계되는 것이 중요합니다.
오케스트레이션 서비스 분리의 장점:
유지보수 용이성: 오케스트레이션 로직을 전담하는 서비스를 별도로 두면, 각 서비스의 역할이 명확해져 복잡도가 줄어듭니다. 이는 서비스별 유지보수와 관리가 용이해지는 결과로 이어집니다.
확장성: 각 도메인 서비스는 자신의 비즈니스 로직에 집중할 수 있으므로, 새로운 기능의 추가나 변경을 위해 오케스트레이션 로직을 수정할 필요성이 줄어듭니다.
책임 분리: 각 도메인 서비스가 맡은 역할에만 집중함으로써, SRP(단일 책임 원칙)을 준수할 수 있습니다. 이는 코드의 가독성과 신뢰성을 높이는 데 기여합니다.
관련된 유사한 질문과 논의를 보시려면 아래의 링크를 확인해보세요:
- MSA 환경에서의 역할과 책임 분리
위의 링크에서는 오케스트레이션 패턴에서의 서비스 분리와 관련된 다양한 접근 방식과 고려 사항들이 논의되고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




