소개
서비스가 움직이는
길을 만듭니다.
Go를 중심으로 백엔드를 개발합니다.
API와 비동기 작업부터 AWS 인프라까지, 서비스의 동작과 운영을 함께 다룹니다.
백엔드와 서비스
Go로 REST API와 gRPC 서비스를 만들고, 기능별 서비스와 비동기 작업의 경계를 나눕니다.
RabbitMQ로 전달되는 작업은 ID로 요청과 결과를 연결하고, 처리 상태를 서비스 데이터에 반영합니다.
요청의 시간 제한과 취소, 서비스 종료 시 작업 대기와 자원 해제까지 한 흐름으로 다룹니다.
클라이언트와 통신
HTTP / MQTT / TCP를 쓰는 다양한 클라이언트를 서버에 연결합니다.
수신 데이터를 서버 모델로 변환하고, 처리 결과와 상태 변경을 WebSocket과 운영 화면에 전달합니다.
WPF의 ViewModel, Qt의 C++ / QML, Android의 웹 데이터 파싱과 백그라운드 알림까지, 데이터가 실제 화면에 도착하는 구간도 익숙합니다.
데이터와 배포
관계형 데이터는 MariaDB / SQL Server, Document는 MongoDB / DocumentDB, 캐시와 공유 상태는 Redis / ElastiCache로 다룹니다.
AWS에서는 RDS / ElastiCache / DocumentDB로 데이터 계층을 구성합니다. EKS / ELB를 통한 서비스 실행과 트래픽 분산, Amazon MQ의 메시지 브로커 운영도 함께 다룹니다.
S3 파일 업로드와 Presigned URL, CloudFront Signed URL과 캐시 무효화처럼 애플리케이션과 인프라가 맞닿는 부분도 직접 구현합니다.
ECR의 이미지 관리부터 Docker / Kubernetes 배포와 상태 확인, 안전한 종료, 데이터 보존 기간에 따른 배치 삭제까지 운영 과정도 함께 챙깁니다.