이전 글, SI (System Ingreation) Project 회고 #2 (스포츠 SI)에서 언급하였듯이 내가 수행한 SI Project 에서는 유관 시스템 간 Data Interface 가 매우 중요한 부분이였다.
데이터를 송/수신하기 위하여 XML (eXtensible Markup Language) / JSON (JavaScript Object Notation) 을 모두 사용하였고, 전체적인 아키텍처는 아래 그림과 같다.
대회 기간 동안 각 Venue 별로 Game Event 가 다수 진행된다. Event 가 진행되는 동안 수많은 데이터들이 생성되며, 해당 데이터들은 Info시스템으로 송신되어 정보시스템에서 관리 및 조회 될 수 있다. 데이터들이 동시 다발적으로 송신되기에 서버 상태에 따라 데이터를 안전하게 수신받을 수 있도록 ActiveMQ를 활용하여 클라이언트-서버 패턴의 미흡한 부분을 보완하여 브로커 패턴으로아키텍쳐를 설계했다.
각 Venue 별 GRS시스템은 클라이언트로서 Producer 역할을 하며, ActiveMQ의 Queue를 통해 메세지를 수신하여 부하 부분을 완화 할 수 있었다. Consumer 부분은 별도의 Java 기반의 Paser 서버 모듈을 구축하여 XML을 Parsing 하여 DB서버에 Data Insert 작업을 수행하도록 구축 했다.
쥬니어 시기 2-3년차에 (2013~2015) 에 비교적 단순한 Web Application Programming 뿐 아니라, 위와 같은 아키텍쳐를 설계하고 직접 구축해 봄으로써 IT시스템을 조금 더 넓은 시야로 볼 수 있었다.
'Project Retrospective' 카테고리의 다른 글
시스템 구성도 면접 과제 (렌터카 시스템 Flow / 구성도) (1) | 2024.09.18 |
---|---|
SI (System Ingreation) Project 회고 #4 (고객 채널 구축 시 고려 사항) (0) | 2024.04.18 |
SI (System Ingreation) Project 회고 #2 (스포츠 SI) (0) | 2024.04.11 |
SI (System Ingreation) Project 회고 #1 (대규모 SI Pjt 경험의 장점) (0) | 2024.04.10 |