반응형

webflux 4

Spring Webflux with EventListener

개요 Spring framework에서 제공하는 eventListener 기능 설명 (4.2 이상 기준) Webflux 환경에서 EventListener에 대한 Sample Code 제시 동작원리 Spring @EventListener @Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Reflective public @interface EventListener { @AliasFor("classes") Class[] value() default {}; @AliasFor("value") Class[] classes() default {}; String conditio..

개발 일지 2024.03.20

Spring Webflux Threading (publishOn, subscribeOn) 분석

개요 Reactor에서 제공하는 Pub / Sub 모델은 실행될 Thread를 전략적으로 선택할 수 있게 interface를 제공한다. - publishOn(Scheduler scheduler): 어디에서 Publish 될 것인가 - subscribeOn(Scheduler scheduler): 어디에서 subscribe 할 것인가 Scheduler interface Scheduler extends Disposable { Disposable schedule(Runnable task); Disposable schedule(Runnable task, long initialDelay, TimeUnit delayUnit); Disposable schedulePeriodically(Runnable task, lon..

개발 일지 2023.10.30

Spring Webflux, HttpHandler code 분석

개요 Spring Webflux가 http Request를 받아서 handler를 찾아 mapping, execute 및 response handle하는 과정에 대한 분석을 진행한다. Spring Webflux HttpHandler 분석 HttpHandler Http 요청에 대한 전반적인 처리를 담당하는 interface AutoConfiguration으로 Bean으로 만들어지며, Builder를 통해 생성된다. Builder는 생성된 Bean들을 기반으로 Handler를 생성한다. 따라서 HttpHandler Bean 생성 시점은 매우 늦다 (order = -2147483638) 생성 Flow 요약 1. AutoConfig를 통해 Builder를 생성 (with applicationContext) 2...

개발 일지 2023.10.27

#6 Webflux기반 OAuth2서버 + gateway 구축

개요 서비스를 위해서 서버에 접근제어를 위한 인증서버가 필요했다. 개인적으로 정리한 요구사항: - 개인 서버의 계정을 기반으로 인증을 수행할 수 있어야 한다. - 내부적인 서비스 호출에 인가를 받을 수 있는 구조여야 한다. - OAuth2.0 최소 스펙 이상 동작할 수 있어야 한다. - 추후 외부 OAuth 프로토콜과 연계 될 수 있는 구조여야 한다. Gateway OAuth 2.0 서버 개요 Server Architecture 전체적인 서버구성에 추가적인 요소들이 있다. 1. Nginx의 추가 - WebServer의 역할을 하며, 개인 서버의 유일한 Entry Point - URL Prefix를 통해서 각 서버로 연동을 해준다. - Web Resource (static page)에 대한 제공을 한다...

반응형