Skip to Content
Thinking모듈 경계 및 분리

모듈 경계 및 분리

현재 구조에 대한 고민

module-api 와 module-socket 은 지금 생각하는 구조로는 POS 에 어떤 방식으로 통신을 해서 QR 을 생성해주냐에 따른 분리라고 생각한다.

그래서 module-common 에 QR 결제 처리 공통로직이 들어가는 것이라고 판단을 한다.

간편결제사 거래의 특수성

하지만 간편결제사 거래 같은 경우는 module-api 에서만 통신을하고 처리를 하기 때문에 굳이 module-common 또는 module-gateway 에 로직을 넣고 코드 비대화를 할 필요가 없다고 생각이 들었다.

그렇지만 모범사례에 의거해서는 배포되는 module-api 에는 코드가 많지 않으면 좋다? 이게 맞는 말인지는 모르겠음

통신 구조

현재 만약에 api 서버에서 결제 처리를 하고, tcp 서버에 통지가 필요할 경우 kafka 를 통해서 통신을 한다.

위 현황에서 새로운 간편결제사가 api 또는 socket 서버에 의해서 생성된 qr 을 결제할 경우 처리 자체는 무조건 api 서버에서 진행을 한다.

TCP 서버 통지

위 구조에서 만약 TCP 에서 QR 이 생성된 경우에는 기존 처럼 kafka 를 통해서 거래 결과 통지를 해주면 될 것이고 api 는 기존 대로 통지를 하면 될 것이다.

열린 질문

그래서 그런데, module-gateway 에 api 에서만 처리하는 공통 로직을 넣을 필요가 있을까?

그대신 위 로직들은 전부 module-api로 올라가서 레이어를 구성하게 될 것이다.

→ 위 부분부터해서 다음에 아키텍쳐를 더 깊이 고민해볼 예정.

Last updated on