본문 바로가기

전체 글

(117)
[간단한 퀴즈 서비스] 퀴즈 데이터 DB 이관 1차 개발 당시 퀴즈 데이터 세트를 서버 map 자료구조에 저장해서 썼었다.메모리에 있으니 DB에 있는 것보다는 응답이 빠르겠지만 서버를 띄울 때마다 정제해 놓은 퀴즈 세트 excel 파일을 읽어서 메모리에 올려서 하는 방식을 계속 지속하기에는 데이터 관리 영구적으로 되는 것도 아니고 그렇다고 같은 메모리에 저장되지만 문제가 Redis처럼 관리되는 형태도 아니었기에 RDBMS 혹은 in-memory cache로 넘어가야 할 일이라 생각하였다.  기존 회원 데이터, 퀴즈 점수 등은 mysql로 관리되고 있었기에 퀴즈 데이터도 RDBMS로 관리하기로 하였다.Redis를 쓰면 빠르겠지만 AWS freetier유저라 작고 소박한 1GB짜리 EC2 서버에 여러 서비스를 띄우기에 서버에 지장이 되지 않을까 하여 가..
[간단한 퀴즈 서비스] 배포 3/3 결론부터 이야기하면 마침내 nginx 세팅을 여러 우여곡절을 거친 끝에 끝내고 https로 배포에 성공하였다.Intro https로 배포해야 했던 이유는 신뢰성 있는 통신 프로토콜로 서비스가 제공되게 하기 위한 어찌 보면 당연한 이유와쿠키에 담은 JWT 토큰을 읽어오기 위해 https 이거나, 같은 주소로 api 요청이 오가야 했지만처음에 EC2에 서비스를 올리기만 하고 nginx는 docker에서 띄운 설정이 제대로 동작하지 않아 http로만 서비스되었었고,도메인도 구매하지 않았기에 api에서 서버로 자원을 요청할 같은 주소가 아니라서 브라우저(크롬)에서 쿠키를 제대로 받아오지 못하는 이슈가 있었다. 이런 문제를 해결하기 위해 지난 포스팅에서 도메인 구매와 aws route53을 이용해서 도메인과 서버..
[간단한 퀴즈 서비스] 배포 2/3 가비아 도메인 구매기 잠을 덜 자고서 한 눈만 뜨며 도메인을 구매했더니 도메인 명의 철자를 틀려서 결국 멍청 비용이 발생했다..두 눈 떠지는 일이 발생하고 다시 꼼꼼하게 보고 아래와 같이 도메인을 구매했다  가비아에서 구매한 도메인과 배포한 서버의 IP를 맞추기 위해 AWS의 Route53 호스팅 영역에 네임서버 주소, EC2 주소 등을 설정해 주었다. 글과 사진은 단출하지만 여러 블로그를 보며 은근한 시행착오를 겪었다마침내 혹은 아마도 nginx 설정만 맞추어주면  https에서의 배포는 끝날 것으로 보인다.