본문 바로가기

Backend 🧦20

HTTP X- 헤더 HTTP 헤더의 개념HTTP 헤더는 메시지의 시작 부분에 위치한 키-값 쌍으로 이루어진 메타데이터이다.이 헤더들은 클라이언트가 서버에 요청을 보낼 때, 혹은 서버가 클라이언트에게 응답을 보낼 때 함께 전송된다.HTTP 헤더는 통신의 주요 요소를 정의하고, 요청이나 응답의 특성을 설명한다. 예를 들어, User-Agent 헤더는 클라이언트의 브라우저나 애플리케이션의 정보를 서버에 전달한다.Content-Type 헤더는 클라이언트가 서버로부터 받아들일 데이터의 형식을 지정하며, Authorization 헤더는 인증에 필요한 정보를 전달한다. 커스텀 HTTP x-헤더커스텀 헤더(Custom Header)는 표준 HTTP 헤더가 아닌, 특정한 웹 애플리케이션이나 서비스에서만 사용되는 헤더이다.이 헤더들은 주로 .. 2024. 8. 19.
AWS S3에 파일 올리기 (Presigned URL) 1. AWS SDK 의존성 추가 software.amazon.awssdk s3 2.20.125 2. application.yml 추가aws: s3: bucket-name: {bucketName} endpoint: {endPoint} 3. 컨트롤러 @GetMapping("/generate-presigned-url") public String generatePresignedUrl(@RequestParam String fileName) { URL url = s3Service.generatePresignedUrl(fileName); return url.toString(); } 4. 서비스 코드@Servicepublic class S3Service.. 2024. 8. 14.
Spring Cloud(Gateway) Spring WebFlux 또는 Spring WebMVC 위에 API Gateway를 구축하기 위한 라이브러리를 제공 Spring Cloud Gateway는 API로 라우팅하고 security, monitoring/metrics, resiliency 등과 같은 공통 관심사 처리 📌 동작 순서Client → Spring Cloud Gateway 서버 요청Gateway Handler Mapping에서 요청이 매핑된다고 판단하면 Gateway Web Handler로 요청보냄Gateway Web Handler는 매핑되는 요청을 위한 필터 체인을 거쳐 요청을 실행📌 특징Spring Framework 및 Spring boot 기반으로 구축됨모든 요청 속성에 대한 경로를 일치시킬 수 있음Predicate와 Fil.. 2024. 8. 14.
[MySQL] 파티셔닝(Partitioning) 파티셔닝테이블을 논리적으로 여러 개의 작은 조각으로 나누는 방법각 조각을 '파티션'이라고 부르며, 이러한 파티션들은 독립적으로 관리될 수 있다.파티셔닝을 통해 데이터를 분산시켜 특정 쿼리의 성능을 최적화할 수 있다. 물리적으로는 여러 테이블로 분산하여 저장되지만, 사용자는 하나의 테이블에 접근하는 것과 같이 사용할 수 있다.  Range 파티셔닝특정 범위에 따라 데이터를 분할ex) 날짜, 숫자의 범위CREATE TABLE orders ( order_id INT, order_date DATE, customer_id INT)PARTITION BY RANGE (YEAR(order_date)) ( PARTITION p0 VALUES LESS THAN (2020), PARTITION p.. 2024. 5. 27.
DB 성능테스트 Tool 비교 🤔 성능 테스트란?서비스 및 서비스 시스템의 성능을 확인하기 위해 실제 사용 환경과 비슷한 환경에서 테스트를 진행하는 것Response Time, Throughput(처리량), 병목구간 등을 확인할 수 있다기능Apache Bench JMeterLocustGatlingk6nGrinder설치간편 (커맨드라인)다소 복잡 (GUI/XML)간편 (Python)다소 복잡 (Scala)간편 (Node.js)다소 복잡 (Java)언어커맨드라인XMLPythonScalaJavaScript/TypeScriptGroovy/Jython테스트 유형기본 웹 서버 성능다양한 웹 애플리케이션, API, 모바일 앱APIAPI, 웹 페이지API, 웹 페이지API, 웹 페이지, 모바일확장성제한적높음높음높음매우 높음높음사용 편의성쉬움어려움.. 2024. 5. 24.