전체 글 (5) 썸네일형 리스트형 [aws] 고가용성 Multi AZs EKS 구성하기 - 맨땅에 헤딩 들어가며서버를 구성할 때 DR(Disaster Recovery), 고가용성의 목적으로 여러 IDC 에 분산하여 서버를 배치하는 모습을 많이 볼 수 있습니다.휴먼 에러로 인한 경우가 많지만, 특정 IDC 가 있는 지역에 지진, 화재 같은 자연재해나 outage 정전으로 IDC 전체가 정상적으로 가동될 수 없는 경우들이 종종 있습니다.AWS 에서 서버를 제대로 구축해본 경험이 없어서, AWS EKS 서비스를 통해 고가용성 Multi IDC(AZ) k8s cluster 를 어떻게 구성할 수 있는지 필요한 기본 개념들부터 살펴보면서 알아보고자 합니다. IDC 가 날아간 사례고가용성 전에 고려 사항First question, what’s the requirement?Is there a budget?What’s t.. [Java 21] Virtual Thread 의 원리 - Continuation 들어가며Java 21 에는 경량 스레드 모델인 Virtual Thread 가 추가되었습니다. 기존 Java 의 스레드는 커널의 스레드와 1 대 1 매칭이 되기 때문에, 다수의 스레드를 사용하여 프로그래밍 하기에는 컨텍스트 스위칭 비용이 많이 들었습니다. 이를 보완하기 위해 Spring Webflux 와 같은 Reactive Programing 이나 Kotlin 의 Coroutine 을 많은 곳에서 적용하고 있으며, Spring Webflux + Kotlin Coroutine 조합은 하나의 표준처럼 보여지기도 합니다. 하지만, Webflux 를 사용하기 위해서는 DB 등의 드라이버들이 Mono, Flux 를 사용하는 Reactive 방식을 지원해주어야 하며, 잘못하여 blocking 로직이 애플리케이션에 .. Spring Webflux filter 로직 살펴보기 Problemspring webflux 에서 logging, exception handling 을 위해서 filter 로직을 넣고자 했습니다. 로깅은 분석을 위해서 request body 와 response body 를 같이 기록하고자 하였고, exception 같은 경우 exception filter 에서 잡아 약속된 error 응답 형식으로 내려주고자 하였습니다. 또한 exception filter 가 먼저 수행되도록 하여 exception 이 발생한 request 도 기록할 수 있도록 filter 의 순서도 고려 대상이었습니다. webflux 에는 controller annotation 방식, router 방식 두가지가 있으며, webfilter, handlerFilterFunction 등 두 방식.. 이전 1 2 다음