새로운 포스트
-
Istio
[Istio] 8편: 모니터링과 관찰 가능성, 그리고 Istio 메트릭 정리
-
Istio
[Istio] 7편: Istio 복원력 - 로드밸런싱, 재시도, 서킷브레이커
-
Istio
[Istio] 6편: 트래픽 관리 실전 - 배포와 릴리스의 분리부터 카나리, 미러링, 외부 서비스 연동까지
-
Istio
[Istio] 5편: 이스티오 게이트웨이 실무 편 - 책임 분리, 주입, 로그, 설정 관리
-
Istio
[Istio] 4편: 이스티오 게이트웨이 - 인그레스 포인트에서 라우팅까지
-
Istio
[Istio] 3편: 이스티오 엔보이(Envoy) 프록시 파헤치기 - 개념부터 핵심 기능까지
-
Istio
[Istio] 2편: Istio 첫걸음 - CRD부터 관찰가능성까지, 핵심 컴포넌트 훑어보기
-
Istio
[Istio] 1편: 서비스 메시(Service Mesh)를 제대로 이해하기 - 문제부터 Istio까지
다른 사람들이 관심있어한 포스트
-
Techfork [26/01/28] 오늘의 개발 일지 - 웹 Apple 소셜 로그인 구현 오늘은 웹에서 Apple 소셜 로그인을 할 수 있도록 REST API 문서를 보고 구현했습니다. 애플 로그인은 카카오 로그인보다 훨씬 까다롭더군요...https://developer.apple.com/documentation/signinwithapplerestapi Sign in with Apple REST API | Apple Developer DocumentationCommunicate between your app servers and Apple’s authentication servers.developer.apple.com 웹 Apple 로그인 구현 가이드TechFork 프로젝트의 Spring Security OAuth2 기반 Apple 소셜 로그인 구현⚠️ Apple vs Kakao 핵심 차이.. -
Spring [Spring] Spring MVC + Tomcat vs Spring WebFlux + Netty, 그리고 Virtual Thread까지 Spring 기반 웹 애플리케이션의 동시성 모델을 비교하고, JDK 21의 Virtual Thread가 가져온 패러다임 변화를 정리합니다.1. 두 가지 동시성 모델Spring MVC + Tomcat: Thread-per-RequestSpring MVC는 thread-per-request 모델을 사용한다. 요청이 들어오면 Tomcat의 스레드 풀(기본 200개)에서 스레드 하나를 할당하고, 해당 스레드가 컨트롤러 → 서비스 → DB 호출까지 전부 담당한다. DB I/O 같은 블로킹 작업이 발생하면 해당 스레드는 응답이 올 때까지 대기(blocking) 상태에 놓인다. Spring WebFlux + Netty: Event LoopSpring WebFlux는 Event Loop 모델을 사용한다. Netty의 .. -
JVM [JVM] 가비지 컬렉터의 역사 (6) - ZGC와 Generational ZGC: 서브밀리초 GC의 모든 것 이전 포스트에서 Shenandoah는 Brooks Pointer를 사용해 동시 압축을 구현했습니다.https://dmoritle.tistory.com/174 [JVM] 가비지 컬렉터의 역사 (5) - Shenandoah GC: 동시 이주 실현한 Low-Latency 가비지 컬렉터서론: 왜 Low-Latency GC가 필요해졌는가하드웨어 성장이 만든 역설1990년대부터 2000년대 초반까지 JVM 힙 메모리는 수백 MB 수준이었습니다. 그러나 메모리 가격 하락과 64비트 아키텍처의 보편화로dmoritle.tistory.com ZGC는 같은 목표를 Colored Pointer와 Load Barrier로 달성하되, 구현 전략은 정반대에 가깝습니다. 1. ZGC 개요ZGC란?ZGC(Z Garbage Colle..
-
JVM [JVM] CDS와 AppCDS - JVM이 클래스 로딩을 캐싱하는 방법 JVM 인터널 시리즈이전 글에서 ClassLoader가 .class 파일을 찾아 InstanceKlass로 변환하는 과정을 살펴봤습니다.이번 글은 그 연장선입니다. JVM이 매번 같은 작업을 반복하지 않도록 결과를 캐싱하는 방법, Class Data Sharing(CDS) 을 다룹니다. 1. 왜 JVM 시작이 느린가?java -jar app.jar를 실행하는 순간, JVM은 애플리케이션이 첫 번째 요청을 처리하기 전까지 상당한 양의 작업을 수행합니다. 전형적인 Spring Boot 애플리케이션은 완전히 초기화되기까지 15,000~25,000개의 클래스를 로드합니다. 각 클래스는 아래의 단계를 거칩니다.Loading : .class 파일 탐색 → 바이트코드 읽기/파싱 → InstanceKlass 생성 ..
-
Istio [Istio] 8편: 모니터링과 관찰 가능성, 그리고 Istio 메트릭 정리 1. 모니터링(Monitoring) vs 관찰 가능성(Observability)구분모니터링관찰 가능성질문 유형"이 값이 정상 범위인가?""왜 이런 일이 벌어졌는가?"대상알려진 문제 (known-unknowns)미지의 문제 (unknown-unknowns)접근사전 정의된 대시보드·알림임의의 질문에 답할 수 있는 데이터 구조관계관찰 가능성을 구현하는 하나의 활동모니터링을 포함하는 더 넓은 시스템 속성관찰 가능성은 제어 이론(control theory)에서 온 개념으로, 시스템 내부 상태를 외부 출력만으로 추론할 수 있는 능력을 뜻합니다.이를 위한 세 기둥(Three Pillars)이 Metrics(집계된 수치), Logs(이산 이벤트), Traces(요청의 전체 흐름 추적)입니다.다만 세 기둥은 각자 따로 ..