| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- prometheus
- JPA
- webflux
- mysql
- Java
- selector
- monitoring
- SpringBoot
- netty
- docker
- 성능최적화
- GitOps
- 데이터베이스
- kafka
- 동시성제어
- Kubernetes
- jvm
- 백엔드
- RDBMS
- grafana
- spring boot
- 트랜잭션
- 백엔드개발
- CloudNative
- redis
- NIO
- DevOps
- helm
- Kotlin
- 성능 최적화
- Today
- Total
목록전체 글 (118)
유성
쿠버네티스에 Spring Boot 애플리케이션을 처음 올릴 때 막막한 것 중 하나가 "설정을 어디에, 어떻게 써야 하는가"다.이번 글에서는 Helm Chart를 기준으로 Spring Boot를 프로덕션에 배포할 때 필요한 설정 항목들을 하나씩 살펴본다. values.yaml 파일을 중심으로 각 설정이 왜 필요한지, 어떤 영향을 주는지를 함께 설명한다. 1. 초기 Replica 개수 설정서비스를 기동할 때 몇 개의 Pod를 띄울지 지정한다.replicaCount: 22로 설정하면 동일한 애플리케이션 Pod가 2개 생성된다. 단일 Pod로 운영하면 해당 노드에 장애가 발생했을 때 서비스가 완전히 중단되므로, 프로덕션 환경에서는 최소 2개 이상을 권장한다.다만 replicaCount는 HPA(8번 섹션)가 활..
1~2 편에서는 ELK 스택을 통한 로깅 아키텍처를, 3~4편에서는 Prometheus를 이용한 메트릭 고가용성을 다뤄보았다.운영을 하다가 초당 수만 줄의 로그를 처리하기 위해 Elasticsearch 클러스터를 계속 키우는 것은 비용과 운영 측면에서 큰 부담이 될 수 있다. 그래서 이번 5편에서는 저비용 고효율의 로깅 스택인 Loki를 구축해 본다. 1. Loki는 ELK와 어떤 부분이 다른지ELK의 경우 매우 강력한 도구지만, 반대로 너무 무거운 도구이긴 하다. 모든 것을 인덱싱할 것인가?ELK와 Loki의 가장 큰 차이는 "무엇을 인덱싱 하는가?"에 있다.ELK: 로그의 모든 단어를 인덱싱 한다. 검색은 빠르지만, 로그 양이 늘어나면 인덱스 크기가 비대해져 SSD 비용이 기하급수적으로 상승한다.Lo..
[클라우드 네이티브] 3편: 고가용성 모니터링(메트릭) 아키텍처 설계 전략지난 1, 2편에서는 로그 수집의 핵심인 ELK 스택을 고가용성 환경으로 구축하는 방법을 살펴보았다.로그가 서비스에서 발생하는 "기록"을 추적한다면, 이번에 다룰 메트릭(Metric)은 시스템의 "상태youseong.tistory.com지난 3편에서는 Prometheus + Thanos + Grafana 구조를 설계 수준에서 살펴봤다. 이번 글에서는 그 설계를 실제로 Helm Chart를 이용해 구현하고, 아래 두 가지를 직접 확인한다. Helm Chart 저장소 (monitoring-stack 만 사용) GitHub - youseonghyeon/k8s-blogContribute to youseonghyeon/k8s-blog dev..
지난 1, 2편에서는 로그 수집의 핵심인 ELK 스택을 고가용성 환경으로 구축하는 방법을 살펴보았다.로그가 서비스에서 발생하는 "기록"을 추적한다면, 이번에 다룰 메트릭(Metric)은 시스템의 "상태"를 숫자로 파악하는 작업이다. 메트릭 모니터링은 로그 수집과 설계 철학부터 다르다.이번 글에서는 모니터링으로 많이 사용되는 Prometheus와 Thanos, Grafana를 활용한 고가용성 모니터링 구조를 설계해본다. 1. 모니터링 아키텍처: Prometheus + Thanos + Grafana이번 설계의 핵심은 "수집은 중복으로, 조회는 통합으로"이다. 이를 위해 다음과 같이 레플리카를 구성한다.Service Monitor: 일종의 명세서로, 어디서 메트릭을 가져가야 하는지 적어놓는다.Prometheu..
[클라우드 네이티브] 1편: 온프레미스에서 클라우드 네이티브로: 로깅 아키텍처(ELK) 설계과거 온프레미스 환경에서 고가용성을 갖춘 ELK 스택을 구축하고 유지하는 것은 꽤나 어려운 작업이였다.단순히 서버를 띄우는 것을 넘어, 인프라와 애플리케이션 사이의 수많은 '수동 연결 고youseong.tistory.com 이전 글에서는 온프레미스 환경을 클라우드 네이티브로 전환하는 이론적 배경을 살펴보았다면,이번 실전 편에서는 Helm을 통해 실제 ELK 스택을 구축하고, 직접 부하를 가해 파이프라인이 얼마나 버티는지 검증해 본다. Helm Chart 저장소 GitHub - youseonghyeon/k8s-blogContribute to youseonghyeon/k8s-blog development by crea..
과거 온프레미스 환경에서 고가용성을 갖춘 ELK 스택을 구축하고 유지하는 것은 꽤나 큰 복잡성을 지니고 있었다.단순히 서버를 띄우는 것을 넘어, 인프라와 애플리케이션 사이의 수많은 '수동 연결 고리'를 관리해야 했기 때문이다. 이 글에서는 과거의 ELK 구성 방식과 클라우드 네이티브 환경의 ELK 구성을 비교해 본다. 1. 과거 온프레미스 환경: 운영의 발목을 잡았던 로깅의 복잡성과거 온프레미스 환경에서는 고가용성 ELK를 구성할 때 꽤 큰 복잡성을 가지고 있었다.이러한 구성에서 애플리케이션을 확장한다고 가정해 보자.애플리케이션을 확장한다는 것은 새로운 물리 서버나, VM을 할당받는 것을 의미한다.이때마다 다음과 같은 작업이 반복되었다.Filebeat 수동 배포: 새 서버가 뜰 때마다 Filebeat 설..