일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- MySQL
- 코딩테스트
- F-Lab
- backend
- AWS
- 트러블슈팅
- 자바
- 자바백엔드
- Flutter
- 성능테스트
- 데이터구조
- error
- 멘토링
- grafana
- FLAB
- 플러터
- 후기
- nGrinder
- 알고리즘
- EC2
- 부트캠프
- redis
- 백엔드
- 에프랩
- 도커
- Spring
- java
- 로드밸런서
- github
- 레디스
- Today
- Total
목록분류 전체보기 (132)
민스씨의 일취일장
PaymentService에 Redis 캐시를 도입하는 과정(GitHub Issues #26)에 대한 글이다.REDIS를 이용해 캐시 도입하기작업 순서 계획1. 프로젝트에 Redis 설정2. 로컬 Redis에서 테스트3. EC2 Redis용 인스턴스 추가하기4. 작동 확인1. 프로젝트에 Redis 설정캐시를 적용할 서비스(PaymentService)에 Redis 설정을 하면서 캐시 도입을 시작한다.build.gradle에 의존성 추가build.gradle에 Redis 의존성을 추가한다. Redis도 일종의 Database이기 때문에, Database 연결과 비슷한 과정을 거친다.implementation 'org.springframework.boot:spring-boot-starter-data-redis..
F-Lab Java Backend 과정 15주차 후기글입니다.F-Lab Java Backend 과정 15주차15주차 멘토링 주제프로젝트1. 캐시 도입이론1. JWT, OAuth, SSO프로젝트캐시도입드이어 캐시를 도입하기 시작했다. 멘토링 시작하기 직전에 AWS에 Redis를 이용한 별도의 EC2에 컨테이너를 띄운후, 기존 서비스들과의 연동까지 성공적으로 마쳤다. 이제는 캐시 도입후의 성능 테스를 하면 된다.캐시도입해 보면서 느낀점Redis를 적용해 보면서, 생각했던 것 보다 어려운 작업이 아닌 것을 알게됐다. 물론 깊게 들어가면 또 끝없이 어렵겠지만, 알게된 점은 내가 어떤 새롭고 낯선 기술을 도입하기에 앞서서 너무 사려깊게 살펴보려는 성향을 갖고 있고, 이런 성향 때문에 프로젝트 진행이 속도가 나지..
F-Lab Java Backend 과정 14주차 후기글입니다.F-Lab Java Backend 과정 14주차14주차 멘토링 주제프로젝트1. 로드밸런서 도입 후 성능 저하 문제2. 캐시 도입2. 예외처리이론1. 동시성 이슈2. TDD프로젝트로드밸런서 도입 후 성능 저하 문제인스턴스 6개 생성이번주는 모든 서비스를 독립된 서버로 분리해 서버 이중화를 진행했다. 이를 위해서 서비스 2개, 로드밸런서 1개로 서비스를 위해서 3개의 인스턴스를 생성했다. 여기에 모니터링을 위해 Prometheus 전용 인스턴스 한 개, 테스트를 진행하기 위한 독립적인 Agent 두 개까지 해서 총 6개의 인스턴스를 생성했다.성능 저하 발생예상 시나리오로는 서버를 이중화하고 로드밸런서를 도입하면 성능이 2배이상 높아질 것이라고 예상..
캐시 전략과 캐시 소프트웨어 종류에 대한 정리 글이다.Cache캐시를 도입하기에 앞서 캐시에 대해 알아보려고 한다.캐시란?캐시란 데이터 임시 저장소이다. 주로 자주 사용하는 데이터 또는 이미 사용한 데이터를 저장해 둬, 다시 데이터를 사용하려 할 때 데이터베이스까지 가지 않고 바로 꺼내쓸 수 있도록 한다. 이런 사용방식으로 성능을 향상시키고, 네트워크의 트래픽을 감소시킬 수 있다.전략에 따른 캐시캐시라는 임시 저장소를 어떤 구성, 즉 어떤 전략으로 사용하는지에 따라서 크게 3가지로 구분해 생각해 볼 수 있다.1) 캐시 Cache지금 위에서 설명한 말그대로의 캐시이다. 클라이언트와 서버 사이 또는 서버와 데이터베이스 사이에 위치시켜 서버에 요청을 보내기 전 또는 데이터베이스로 Query를 보내기 전에 임시..
서비스 컨테이너를 하나 더 띄워서 서비스를 이중화 하고, 이를 위해 로드밸런서를 도입하는 과정(Github Issues #18)에 대한 글입니다.로드밸런서 도입해 서비스 이중화하기작업 순서 계획1. 새로운 서버에 동일한 PaymentService 컨테이너 띄우기2. 로드밸런서 서버에 nginx 컨테이너 띄우기3. 로드밸런서와 PaymentService1, 2 연결하기4. 순서대로 로드밸런싱 되는지 확인하기5. 프로메테우스가 PaymentService2와 로드밸런서도 인식할 수 있도록 세팅6. 그라파나 대시 보드 구성하기1. 새로운 서버에 동일한 PaymentService 컨테이너 띄우기AMI를 생성해 기존 세팅을 갖고 있는 서버를 생성해주었다. 컨테이너는 이미 생성돼 있는 상태로 이미지가 만들어 지기 때..
상황EC2(Free Tier) 상태 running이고, 시스템 로그를 들여다 봐도 문제가 없는데 접속이 안되는 문제가 발생했다.원인CPUCreditBalance가 고갈된 것이 원인이었다. 아무리 프리티어 내의 사용량이여도, 시간당 가용할 수 있는 CPU자원의 한계가 정해져 있다는 것이다. 요즘 성능테스트로 부하를 많이 일으켜서 CPU 사용할 수 있는 Credit을 모두 소진 한 것이다.해결방법해결책은 기다리면 된다. CPU Credit은 시간당 쓸 수 있는 양과 같기 때문에, 시간이 지나면 다시 원상태로 회복된다.