안녕하세요. 백엔드 개발자 남홍근 입니다.

저는 새로움을 배우고 성장하는 것을 중요하게 생각하며, 다양한 분야에서 공부하고 경험을 쌓았습니다.
인문학 전공이었지만 컴퓨터 개발에 관심을 갖게 되어 복수전공을 통해 입문했습니다. 졸업 후 3년간 게임 클라이언트 개발자로 근무하면서 클라이언트와 서버 간의 효율적인 통신의 중요성을 깨달았습니다. 이를 바탕으로 백엔드 개발자로서의 길을 새롭게 열어가고자 합니다.
인문학적 소양, 개발 현직 경험, 백엔드에 대한 열정을 바탕으로 안정적이며 확장 가능하고 세상에 큰 기여를 할 수 있는 시스템을 구축해 나가고 싶습니다.
Contact & Channel
📧 이메일 : ghdrms1220@naver.com
📞 전화번호 : 010-3254-5455
💻 깃허브 : (링크)
📄 포트폴리오 : (링크)
📚 블로그 : (링크)
Projects
에그톡
팀장
2024.06 ~ 2024.07
Redis Sentinel 기반 백엔드 성능 최적화 프로젝트
2024.08 ~ 2024.09
아바타와 아이스 브레이킹과 함께하는 3:3 소개팅 서비스
[기능]
- 남녀 큐 분리 및 최적화
- 남녀 3:3 매칭 큐 작업 및 친구 매칭 방지 알고리즘을 만들어 참가자 간의 불편함 최소화
- 기존 친구 매칭 방지 작업에서는 7명씩 접속해있을때 1288ms 라는 시간이 걸렸지만 그래프를 통한 최적화 이후 803ms로 약 38% 이상 시간을 줄일 수 있었음
- 코드 리팩토링 및 성능 최적화
- 기존의 monolithic 서비스를 서비스 단위로 분리, 적용하여 유지보수성을 높였을 뿐만 아니라 평균 200ms였던 서비스의 응답속도를 약 75% 향상시킨 평균 50ms로 줄일 수 있었음
- 초기 1팀 즉 6명의 참가자의 CPU사용량이 30%였고, 각 서비스가 필요한 리소스만 사용하도록 진행시킨 결과 1팀의 CPU 사용량을 20%로 약 33%를 향상시킬 수 있었음
- 기존의 이벤트별 타이머를 단일 타이머에서 여러 이벤트를 처리하는 방식으로 변경하여 코드의 복잡성을 줄이고 관리 효율성을 높였습니다. 특히, 타이머 생성 및 제거로 인한 성능 저하를 줄여 서버의 응답 속도가 약 20% 향상되었습니다.
- 메인 컨텐츠 개발
- 큐피드 타임, 키워드 게임 등의 기능을 추가하여 사용자 참여도를 높였습니다.
- 기존 HTTP 기반 CRUD 방식에서 Socket.io로 진행하여 응답 시간을 평균 400ms에서 100ms로 단축 (약 75% 개선)
[기술]
Nest.js, typescript, MongoDB, Redis, AWS EC2, OpenVidu
컨테이너 기반의 Redis Sentinel 시스템을 구축하여 고가용성과 성능 향상 구현 및 모니터링 시스템 설정
[기능]
- Redis Sentinel 구성: 3개의 슬레이브 노드로 구성된 Redis Sentinel 환경을 구축하여 마스터 장애 시 자동으로 슬레이브가 마스터로 전환되는 장애 조치(failover) 메커니즘을 구현. 장애 전환 시간은 평균 2초 내외로 유지하여 서비스의 중단을 최소화.
- 로드밸런서 연동: 외부 클라이언트가 Redis 마스터로 안정적으로 연결될 수 있도록 로드밸런서를 설정하고, Sentinel을 통해 마스터 노드를 동적으로 탐지하여 연결을 관리. 이를 통해 마스터 전환 시 외부 접속 성공률이 99%로 유지됨.
- 성능 최적화: 쓰기 작업을 마스터에만 수행하도록 스크립트를 작성하여 클라이언트가 잘못된 노드(슬레이브)에 쓰기 작업을 시도하지 않도록 설정. 이를 통해 불필요한 쓰기 시도로 인한 성능 저하를 방지하고 시스템 안정성을 강화. 클라이언트 응답 속도가 평균 20% 향상됨.
- 데이터 손실 방지: AOF(Append Only File) 설정을 통해 장애 발생 시 데이터 유실을 방지하며, Redis의 RDB와 AOF를 비교하여 AOF 선택 이유 및 장점 분석. AOF 설정 후 데이터 복구 시간을 50% 이상 단축시킴.
- 모니터링 구축: Prometheus와 Grafana를 활용하여 Redis 클러스터의 상태 및 성능을 실시간으로 모니터링하는 대시보드를 구성. 메모리 사용량, 트래픽, CPU 부하 등 주요 지표를 시각화하여 성능 관리 및 장애 대응 시간을 30% 단축시킴.
- 보안 고려: 외부 접속 제한 및 Redis 클러스터의 각 노드 간 암호화를 구현하여 보안성을 강화하고, 외부 공격에 대한 방어를 강화함.
[기술]
- Redis, Redis Sentinel, Docker, AWS EC2, Prometheus, Grafana
Career
엔테크서비스
2021.12 ~ 2023.02
10만+ 다운로드를 기록한 수학 교육 콘텐츠의 전담 개발자로서, 유니티 버전 변경으로 인해 기존 코드를 공통화 모듈로 개발 및 수정하는 작업을 진행했습니다. 이로 인해 개발 시간은 평균 30% 절감되었고, 코드 재사용률은 50% 증가했습니다.
플레로게임즈
2021.05 ~ 2021.11
100만 다운로드를 기록한 게임의 콘텐츠 개발과 iOS, Android 빌드 관리를 담당했습니다. 또한, 새로운 콘텐츠의 서버 데이터 연동 작업을 성공적으로 수행했습니다. SNG 게임 내 이벤트 작업 및 신규 콘텐츠 추가를 통해 사용자 참여도가 25% 증가했으며 매출 상승을 전 달 대비 20%상승 효과를 냈습니다.
Education