전체 글4 AWS Lambda를 이용한 이미지 리사이징 1편에 이어서 진행합니다.기존 이미지 업로드 - 썸네일을 만드는 과정은 아래와 같았다.클라이언트로부터 이미지 파일을 받아서API 서버에서 이미지 S3 업로드 및 DB 저장비동기로 이미지 리사이징 작업 후 2번 작업썸네일은 비동기로 처리되기 때문에 작업 완료되기 전까지는 사용자는 이미지 원본을 조회여기서 클라이언트에서 S3로 직접 업로드함으로써 1,2번의 과정을 단축시켰다.남은건 3,4번이다. 원본 이미지를 리사이징하고 S3와 DB에 저장하는 부분인데, 이 부분을 개선하기 위한 고려사항은 다음과 같았다.시간 단축비용유지보수 / 개발 공수 고려다양한 레퍼런스를 참고하면서 내린 결론은 서버리스(Serverless) 방식의 AWS Lambda를 이용한 리사이징 방식이였다.이유는 다음과 같다.AWS Lambda에.. 2023. 3. 30. Pre-Signed URL을 이용한 S3 이미지 업로드 22년 8월, 서버 부하 테스트를 마치고 진행했던 업무는, 우리 서비스에 다중 이미지 업로드 기능을 추가할 예정이라, 이에 따라 이미지 썸네일 만드는 작업을 개선 해야했다. 지금까지는 사용자가 한장의 사진만 업로드할 수 있었기 때문에 서버에서 모든 작업을 진행하고 있었지만, 최대 20장까지 한번에 업로드 할 수 있도록 기획하고 있었기 때문에 (나중에는 10장으로 축소되었다.) 지금처럼 API 서버에서 용량이 큰 이미지 파일을 받아 S3에 저장하고, DB에 저장하고, 이미지 썸네일까지 생성한다면 사용자들이 업로드 속도가 느리다고 느낄 만큼 느려질 것이라 예상했다. 실제로 지금 단일 이미지 업로드 속도는 API 기준으로 약 1.n초가 걸렸으며, 10장이라면 10초까지도 걸릴 수 있는 상황이였다. 그래서 이미.. 2023. 3. 13. 서버 부하 테스트 (feat. Jmeter) 이번 포스팅은 웹 서버 부하 테스트를 진행했던 경험을 적어보려 한다.이번 부하 테스트의 목표는 다음 두가지를 확인하는 것이였다.현재 우리 웹 서버 스펙의 한계서버가 Scale-Out & Scale-Up 되었을 때 향상된 성능과 한계과연 동일한 스펙의 서버 2대(양) vs 전자의 2배의 성능을 가진 서버 1대(질)의 성능은 무엇이 더 좋을까?처음 해봤던 테스트라 부족한 점과 아쉬운 점이 많지만, 그래도 나에겐 좋은 경험이였어서 글로 남긴다.테스트 배경22년 7월, 우리 서비스가 앱스토어에 피처링(추천 앱) 여부를 검토 중이라는 이메일을 받았다..!앱스토어 '투데이' 탭에 오늘의 게임, 오늘의 앱 등이 추천되는데, 바로 이곳에 우리의 앱이 노출이 된다니.. 정말 신기했다.빠르면 몇 주, 길게는 몇 달안에 선.. 2023. 3. 5. [NodeJS] Node JS 알아보기 7월에 새 백엔드 팀에 합류했다. 이 팀의 기술 스택은 Express로 하나의 B2C 서비스를 운영 중이었고, NestJS로 B2B 서비스를 기획 및 개발 진행 중이었다. 백엔드는 개인 프로젝트에서 PHP만 다뤄보았기 때문에 Node 계열을 제대로 다뤄보는 것은 이번이 처음이었다. 업무 투입에 앞서 Node.js의 개념과 특징을 공부했었는데, 노션에 정리했던 글들을 이제부터 블로그에 포스팅해보려 한다. Node.js 란? Node.js는 Chrome V8 Javascript 엔진으로 빌드 된 JavaScript 런타임이다. 크롬 V8 엔진이란 웹 브라우저를 만드는 데 기반을 제공하는 오픈 소스 자바스크립트 엔진을 의미하며, 런타임이란 특정 언어로 개발된 프로그램을 해석하고 실행할 수 있는 환경, 즉 프로.. 2022. 11. 27. 이전 1 다음