일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 트라이 #trie #알고리즘
- Open API
- 프로그래머스
- 호텔 방 배정
- Spring Boot
- 징검다리 건너기
- 티스토리 open api
- 카카오 인턴
- 보행자 천국
- 티스토리
- 크레인 인형뽑기 게임
- 트라이
- bulk update
- 알고리즘
- 불량 사용자
- Tistory
- trie
- 가사 검색
- 튜플
- pycon
- CleanCode
- Python
- jdbc
- Today
- Total
목록BackEnd (4)
택시짱의 개발 노트
최근에 면접관으로 참여 하면서 배포 방식에 대한 이야기가 자주 나오고 있어서 그 중 여러 분들이 사용하고 도입 했던 Blue Green 배포를 한번 해보았습니다.저도 개념만 알고 있지 직접 해당 배포 방식을 구현 및 적용 해본적이 없어 간단하게 해봤습니다. 구성은 아래와 같습니다.spring boot 의 jar를 docker container로 생성 ( blue, green ) 하고앞에 nginx를 두어 load balancing 를 해주도록 했습니다.Dockerfile# 베이스 이미지로 OpenJDK를 사용합니다.FROM openjdk:17-ea-17-jdk-slim# curl 설치RUN apt-get update && apt-get install -y curl# 임시 디렉토리 설정VOLUME /tmp..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/OEeKA/btsrH6OdVFu/9b9B8BxkzQ6VVwE5Fj3FsK/img.png)
개요 MSA 구조에서 특정 API 호출시 다른 서버의 API를 호출하는 부분에서 timeout이 발생 호출 되는 서버에서 API 응답을 줄때 여러 테이블의 정보를 취합하는 join 연산이 많아 지연시간 발생 읽기 전용 model을 생성하여 join 연산 없이 데이터를 조회 할 수 있도록 진행 해볼 예정 부하 테스트 진행 Locust를 이용하여 부하 테스트 진행 (Locust란?? https://docs.locust.io/en/stable/what-is-locust.html ) 기존에 사용하던 API 읽기 전용 모델로 변경한 API 결론 Read 전용 Model을 생성하여 TPS 및 응답 시간을 비약적으로 개선할 수 있었습니다. ps. ReadModel을 생성했을때 가장 중요한 부분은 데이터 동기화 문제..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3IXRc/btrHsEA58my/KlaYva97PJ6W5XkczAPb0K/img.png)
개요 Prometheus와 Grafana란? Prometheus 설치 방법 Grafana 설치 방법 Prometheus란? Prometheus는 메트릭 수집, 시각화, 알림, 서비스 디스커버리 기능을 모두 제공하는 오픈 소스 모니터링 시스템이다. 처음에는 SoundCloud에서 만들어졌으나 2016년에는 쿠버네티스에 이어 두 번째로 CNCF(Cloud Native Computing Foundation) 산하 프로젝트 멤버로 들어가게 됐다. Grafana란? Grafana는 멀티플랫폼 오픈 소스 애널리틱스 및 인터랙티브 시각화 웹 애플리케이션이다. 지원되는 데이터 소스에 연결될 때 웹의 차트, 그래프, 경보를 제공한다. Prometheus 설치 1. prometheus 유저 생성 sudo useradd -..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mDeJv/btrtRVWv6yy/UTYVKjyjW8HvezOuf40F0k/img.png)
처리율 제한 장치란? 처리율 제한 장비(Rate Limiter)는 클라이언트가 보내는 트래픽의 처리율(Rate)을 제어하기 위한 장치다. 일반적으로 정의된 임계치(Threshold)를 넘어가면 추가로 들어온 모든 호출은 처리를 중단한다. Ex) GET - api/v2/products는 초당 10회까지만 호출이 가능 하다 처리율 제한 장치를 사용할 때의 장점 Dos 공격에 의한 자원 고갈 방지 비용 절감 서버 과부하를 방지 처리율 제한 장치를 어디에 둬야 될까? 클라이언트 - 클라이언트의 요청은 쉽게 위변조가 가능하기 때문에 처리율 제한이 안정적이지 않다. 서버 or 미들웨어(middleware) 서버에 처리율 제한 장치를 둘 경우 미들웨어에 처리율 제한 장치를 둘 경우 이때 처리율 제한을 실현하는 알고리..