2026/03 5

[삼냥이즈 기술노트] Proxy

이전 글에서는 DNS가 도메인을 IP로 변환하는 과정을 정리하였다.실제 웹 요청은 DNS 이후에도 여러 단계를 거친다.클라우드 플레어의 작동 방식을 더 잘 이해하기 위해 Proxy와 Reverse Proxy에 대해 정리해 보았다.ProxyProxy는 대리 서버라는 뜻이다. 일반적으로 Proxy 서버라고 하면 정방향 Proxy를 의미한다.Proxy 서버의 경우 일반적으로 클라이언트 바로 다음에 위치한다ClientForward ProxyInternetServer즉 클라이언트가 서버로 보내는 요청을 인터넷을 타기 전에 가로챈다.이렇게 가로채는 이유는 다음과 같다익명성 - 서버는 접속한 클라이언트를 알 수 없다. 클라이언트 대신 Forward Proxy가 서버가 대신 보냈기 때문.캐싱 - 같은 네트워크에 있는 ..

[삼냥이즈 기술노트] DNS

서비스를 운영하며 클라우드 플레어를 사용하다보면 DNS라는 단어를 자주 접하게 된다.DNS를 비롯한 네트워크에 대해서 학교에서 이론적으로 배웠지만 공부한 후로 시간도 좀 지났고, 실제로 서비스를 운영하다보니 헷갈리는 점이 많아서 한번 정리해보았다. DNS란 무엇인가인터넷에서 다른 서버에 요청을 보내기 위해서는 해당 서버의 IP 주소를 알아야 한다.하지만 사용자는 일반적으로 IP 주소 대신 도메인 네임으로 서버에 접근한다. (sam-meows.com 등등).따라서 도메인 네임을 실제 IP 주로소 변환하는 과정이 필요하며, 이 과정을 담당하는 시스템이 DNS이다.또한 DNS 시스템을 위한 정보(어떤 도메인이 어떤 IP에 해당하는지 등)를 저장하고 제공하는 서버를 DNS 서버라고 한다. DNS 조회 과정DNS..

[삼냥이즈 회고] 디딤돌 R&D 사업 지원기

내가 삼냥이즈에 합류한지 어언 1년 2개월 정도가 지났다.그 기간 동안 프리팁스, 초기창업패키지 등을 비롯한 여러 정부 지원 사업을 거치며 회사를 운영해왔다. 하지만 시간이 지나면서 초기창업패키지 사업도 끝나갈 시점이 되었고, 자연스럽게 삼냥이즈의 런웨이도 점점 가까워지고 있었다.이로 인해 삼냥이즈 멤버들은 모두 허리띠를 졸라매고 있었다. 나를 포함해 창준이와 소정이는 월급도 50만원으로 줄였고, 그마저도 나는 50만원짜리 적금을 넣고 있었기 때문에 여유자금이 조금도 없는 상황이었다. 이 때문에 나는 남은 돈과 그동안 모아두었던 돈을 조금씩 쓰며 최대한 버티고 있던 상황이었다. 허리띠를 아무리 졸라맨다 해도 4개월 이상 이 상태가 지속되는 것은 사실상 불가능했다. 심지어 갚아야 할 학자금 대출도 500만..

[삼냥이즈 기술노트] MVC 패턴

삼냥이즈에서 NestJS 백엔드를 개발하면서 내가 아는 전통적인 방식의 MVC 패턴을 적용하기 어렵다는 생각이 들었다.NestJS 서버는 현재 사실상 api 서버로 운영되고 있기 때문에 View라고 부를 만한 것이 Nest 어플리케이션 안에는 없다. 하지만 유니티 클라이언트를 View라고 생각하고 서비스 전체를 MVC 패턴으로 분리하고자 한다면 어려움에 부딪힌다. 기본적으로 MVC 패턴에선 View에서 Model이 전달한 데이터를 스스로 저장하고, 이를 처리하는 로직이 들어가선 안된다. 하지만 게임의 특성 상 응답 시간이 매우 중요하고, 따라서 클라이언트에서 자체적으로 관리하는 데이터를 먼저 띄워준 후, 이를 서버에서 검증하는 방식이 일반적이다. 이런 생각이 문득 들어 생각을 정리하기 위해 MVC 패턴에..

[삼냥이즈 트러블슈팅] MySQL Deadlock 원인 분석과 해결

이슈서비스를 운영하던 중 유저가 늘어나자 일부 API에서 데드락 문제가 발생했다.당시 서비스는 DAU가 약 400명 정도 되는 상황이었다. 종종 서버 로그에 데드락 문제가 관찰되었고, 이에 관한 유저의 피드백도 제기되던 상황이었다. 1차 원인 추측데드락은 서로 다른 트랜젝션이 서로가 가진 lock을 기다리면서 순환 대기 상태가 되는 경우 발생한다. 당시 나는 트랜잭션을 원자성을 보장하는 도구 정도로만 이해하고 사용하고 있었다. 여러 로직을 하나의 작업 단위로 묶기 위해 트랜잭션을 사용했고, 트랜잭션의 범위에 대해서는 깊게 고민하지 않았던 상태였다. 이 부분에서 문제가 생겼을 것이라 생각하고 관련 자료를 찾아보던 중 트랜젝션은 가능한 짧게 유지해야 한다는 조언을 보게 되었다.당시 로깅 같은 비핵심 작업도..