Server
-
AWS S3에 대용량 파일 업로딩 최적화Server 2024. 3. 12. 14:09
Stream Uploading 일반적으로 S3에 객체를 업로드 할 경우에 다음와 같은 스트림 방식을 사용한다 서버에서는 경로를 통해서 파일을 읽고, 전체 파일을 AWS S3에 전달한다 하지만 파일 사이즈가 커지면 커질수록 S3에 전달하느 속도에 이에 비례해서 증가하기 때문에 대용량 파일을 올리기에 적합하지 않다 실제 테스트를 해봤을때 1GB 크기의 파일을 S3에 등록하는데 약 14분 정도가 소요되었다. GB단위를 넘어선 경우에는 매우 큰 시간이 걸릴것으로 예측할 수 있다. 만약 시스템에서 빠르게 대용량 파일을 올려야 하는 경우에는 성능최적화가 필수적이다. 이를 해결하기 위해 AWS MultiPart 업로딩 방식을 사용할 수 있다. AWS Multipart Uploading 해당 방식은 서버에서 멀티쓰레딩..
-
서버 프레임 워크 성능비교Server 2023. 11. 24. 19:16
각 언어마다 일반적으로 사용하는 서버 프레임 워크는 다음과 같다라고 말할 수 있다. Java -> Spring Python -> Django, Flask Node.js -> Express, Python -> FastAPI Node.js -> Fastify, Nest.js Go -> gin,fiber 이 중 한국의 많은 개발자들이 Java를 이용한 Spring Framework를 사용하고 그 뒤를 따라오는 것이 Node.js나 Python 등이 있을 것이다. Go 언어를 이용해서 개발을 하면서, 왜 한국의 많은 개발자들 그리고 회사들이 Spring을 사용하는지 의문이 생겼다. 다른 프레임워크와 비교해서 Spring이 가진 장점이 무엇이기에 이렇게 사용률이 높은지 궁금해졌다. 이러한 궁금증을 해소하고자, 일..