본문 바로가기

👾 Server28

주니어 백엔드 개발자가 서비스/서버 운영하며 배운 몇 가지 이번 글에서는 서비스를 운영하며 겪었던 몇 가지 경험을 공유하려 합니다. 해당 글은 개인적인 경험과 책 을 참고하여 작성했습니다. 자기소개 문제는 피할 수 없다: 서비스 운영의 현실 Case 1. 타임아웃(timeout) Case 2. 빠른 실패 Case 3. 서킷 브레이커 (circuit breaker) Case 4. 데이터 정리하기 Case 5. 로드밸런싱과 스케일 아웃 Case 6. 서비스 재시작하기 Case 7. 인프라 자동화 도구를 조심하자 (조속기를 활용하자) 마치며: 처음 운영했던 때처럼 자기소개 안녕하세요. 저는 특정 도메인 커머스 플랫폼에서 회사에서 추천 서비스, AB 테스트, 어드민 관리 등을 담당하는 개발자입니다. 업무 특징상 앱 실행 초기 팝업부터 메인 페이지 추천, 상품 상세 페.. 2024. 3. 2.
AWS ElastiCache for Redis에서 발생한 Network bandwidth out allowance exceeded와 대처 방안 최근 신규 프로젝트 개발을 마치고 릴리즈를 앞두고 있었습니다. 릴리즈 전 부하테스트를 하다 AWS ElastiCache for Redis에서 네트워크 대역폭의 허용 범위를 넘게 되었는데요. 겪었던 문제와 해결한 경험을 가볍게 소개드리려 합니다. 목차 1. 네트워크 대역폭이란? - 네트워크 대역폭의 기본 개념 - AWS ElastiCache for Redis에서의 대역폭 중요성 2. Network Bandwidth Out Allowance Exceeded의 의미 - AWS ElastiCache for Redis 인스턴스 스펙 - Baseline bandwidth vs Burst bandwidth 3. 해결 방법 - 데이터 압축 - 요청 딜레이 적용 - 스케일업 및 스케일 아웃 마치며 Reference 1... 2024. 1. 21.
SpringBoot 3.2에서 AWS SecretsManager 사용하여 패스워드 및 인증 관리하기 목차 1. 시작하며 1.1 패스워드 및 인증 관리 서비스 1.2 글의 목적과 범위 소개 2. AWS 라이브러리 선택 2.1 org.springframework.cloud vs io.awspring.cloud 3. 의존성 추가하기 3.1 Spring Cloud AWS Dependencies와 Starter Secrets Manager 추가 4. AWS SecretsManager 사용 방법 4.1 비용 4.2 AWS Console에서 SecretManager 생성과 secret 값들 생성하기 4.3 SpringBoot 실행하는 곳에 권한 설정하기 (AWS Login, IAM Role, STS) 4.4 SpringBoot에서 SecretManager를 통한 secret 데이터 접근 및 관리 (코드) 5. 마.. 2024. 1. 6.
REST API Response(JSON)를 CDN을 활용하여 캐싱하기 목차 - 웹서비스에서 캐싱 대상과 방법 - 캐시 대상 - 캐시 방법 - REST API Resonse(JSON)를 CDN을 활용하여 캐싱하기 - CDN을 활용한 캐싱의 장단점 - 캐싱하기 예제 (조건, 구현, Cache-Control) - 마치며 웹 서비스에서 캐싱 대상과 방법 웹 서비스에서 캐싱은 중요합니다. 사실 필수적이라고도 볼 수 있죠. 캐싱 덕분에 서버의 응답 시간과 부하를 크게 줄일 수 있습니다. 캐싱 대상 이미지, 동영상부터 html, js, css, json 등 클라이언트와 서버가 주고받는 데이터들은 모두 캐싱 대상으로 볼 수 있습니다. 컨텐츠가 자주 안 바뀌고(정적), 바뀌는(동적) 기준으로도 구분하기도 합니다. - 정적 컨텐츠(*.html, *. js, *. css, image, vid.. 2023. 5. 5.
AWS SDK for Java 1.x가 AWS credentials를 가져오는 5가지 방법 AWS SDK for Java 1.x 를 사용하고 있는 Java/Spring Boot 서비스에서 AWS credentials을 가져오지 못하는 문제를 만나게 되었습니다. 해당 문제를 분석하며 AWS SDK for Java 1.x 에서 AWS credentials를 가져오는 방법을 정리해 보았습니다. DefaultAWSCredentialsProviderChain AWS SDK for Java 1.x에서는 DefaultAWSCredentialsProviderChain를 사용하여 편리하게 AWS credentials를 가져올 수 있습니다. // DefaultAWSCredentialsProviderChain 사용 예 private void getCredentials() { credentialsProvider =.. 2023. 4. 23.