Community

๐Ÿ’ฃ Reactor onErrorContinue ์ด๋ชจ์ €๋ชจ

์ตœ๊ทผ์— Spring Webflux ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ ํ‰์†Œ ๊ถ๊ธˆํ–ˆ๋˜ onErrorContinue ๋ผ๋Š” ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด๋ณด๋‹ˆ onErrorContinue ๊ฐ€ ์ œ๊ฐ€ ์˜๋„ํ•œ๊ฒƒ๊ณผ ๋™์ž‘์ด ์ข€ ๋‹ค๋ฅธ๋“ฏ ํ•˜์—ฌ ์กฐ์‚ฌ๋ฅผ ํ•ด๋ณด์•˜๋Š”๋ฐ NHN Cloud ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ์—์„œ ์ด์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์ •๋ฆฌํ•œ ๊ธ€์„ ์ฐพ๊ฒŒ ๋˜์–ด ๊ณต์œ ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ €๋„ ๊ทธ๋žฌ์ง€๋งŒ onErrorContinue ์—ฐ์‚ฐ์ž๋Š” ์ด๋ฆ„์—์„œ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋“ฏ์ด ์ŠคํŠธ๋ฆผ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์ด๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ๊ณ„์† ๋กœ์ง์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ฃผ๋Š” ์—ฐ์‚ฐ์ž์ด์ง€๋งŒ, ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ž์™€๋Š” ๋‹ค๋ฅธ ๋…ํŠนํ•œ ํŠน์ง•์ด ํ•˜๋‚˜ ๋” ์ˆจ์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์ผ๋ฐ˜์ ์ธ Reactor ์—ฐ์‚ฐ์ž๋“ค์ด ๋‹ค์šด์ŠคํŠธ๋ฆผ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ ์—…์ŠคํŠธ๋ฆผ์—๋„ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ธ๋ฐ์š”, ์ด๋กœ ์ธํ•ด onErrorContinue ์—ฐ์‚ฐ์ž๋ฅผ ์„ ์–ธํ•  ๊ฒฝ์šฐ ์—…/๋‹ค์šด ์ŠคํŠธ๋ฆผ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์—๋Ÿฌ ์—ฐ์‚ฐ์ž๋ฅผ ๋ฌด์‹œํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ RetryWhen ๊ณผ onErrorContinue ๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ reactor-core 3.4.25, spring-boot-starter-webflux 2.7.6 ๋ฒ„์ „ ์ดํ•˜์—์„œ๋Š” ์ŠคํŠธ๋ฆผ์ด ๋๋‚˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ๋„ ์กด์žฌํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ๊ณต์œ ๋“œ๋ฆฐ ์›๋ฌธ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๐Ÿ“š ์›๋ฌธ * https://meetup.nhncloud.com/posts/374

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค