BackEnd๐ฑ/Kafka4 Spring Boot์์ ์ฌ๋ฌ Kafka ํด๋ฌ์คํฐ ์ฌ์ฉํ๊ธฐ ๊ฐ์ํ๋ก์ ํธ์์ ์ผ๋ฐ์ ์ผ๋ก ํ๋์ Kafka ํด๋ฌ์คํฐ๋ง์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ด์ง๋ง, ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ ํ๊ฒฝ์ Kafka ํด๋ฌ์คํฐ์ ๋์์ ์ฐ๊ฒฐํด์ผ ํ ํ์๊ฐ ์๊ธธ ์ ์๋ค.๋๋ ์ด๋ฒ์ ์์ ํ๋ฉด์ ๊ธฐ์กด์ ์ฐ๊ฒฐ๋ Kafka ํด๋ฌ์คํฐ ๋ง๊ณ ๋ ๋ ํ๋์ ์๋ก์ด ํด๋ฌ์คํฐ๋ฅผ ์ฐ๊ฒฐํด์ผ ํ๋๋ฐ, ์์ ์ ์งํํ๋ฉด์ ์ป์๋ ์ง์์ ๊ณต์ ํ๊ณ ์ ์์ฑํ๊ฒ ๋์๋ค. ์ปจ์๋จธ ์ค์ Spring Boot๋ ๊ธฐ๋ณธ์ ์ผ๋ก ConcurrentKafkaListenerContainerFactory๋ฅผ ์๋์ผ๋ก ๊ตฌ์ฑํ์ฌ Kafka ๋ฆฌ์ค๋ ์ปจํ ์ด๋๋ฅผ ์์ฑํ๋ค. ๊ทธ๋ฌ๋ ์ฌ๋ฌ Kafka ํด๋ฌ์คํฐ์ ์ฐ๊ฒฐํ๋ ค๋ฉด ๊ฐ ํด๋ฌ์คํฐ์ ๋ํด ๋ณ๋์ ConcurrentKafkaListenerContainerFactory ๋น์ ์์ฑํ๊ณ , ํด๋น ํด๋ฌ์คํฐ์ ๋ง๋ C.. 2024. 8. 17. [Kafka] ์ปจ์๋จธ ์คํ์ ์๋์ผ๋ก ์ปค๋ฐํ๊ธฐ ๊ฐ์๋ฉ์์ง ์์ค์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ฉ์์ง ์ฒ๋ฆฌ๊ฐ ๋ฌธ์ ์์ด ์๋ฃ๋์์ ๊ฒฝ์ฐ์๋ง commit์ ์ํํ๋๋ก, ์ปจ์๋จธ์ offset commit์ ์๋์ผ๋ก ์ค์ ํ๋ ๊ฒฝ์ฐ๊ฐ ์ฌ๋ฌ ์กด์ฌํฉ๋๋ค. ํ์ง๋ง ๋จ์ํ auto.offset.commit๋ง false๋ก ์ง์ ํ๋ ๊ฒฝ์ฐ์๋ ์ํ๋ ๋ฐฉํฅ์ผ๋ก ๋์ํ์ง ์์ ์๋ ์์ต๋๋ค.์ด๋ฒ ๊ฒ์๊ธ์์๋ ์๋ ์ปค๋ฐ์ ๋์ ๊ณผ์ ๊ณผ ์ฃผ์์ , ๊ทธ๋ฆฌ๊ณ ์ปค๋ฐ์ ์๋์ผ๋ก ์ ์ดํ๊ธฐ ์ํ auto.offset.commit ์ค์ ๊ณผ ack-mode ์ค์ ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. auto.offset.commitKafka์ ์ปจ์๋จธ๋ ์ฝ์ ๋ฉ์์ง์ ์์น๋ฅผ ์ถ์ ํ๊ธฐ ์ํด offset์ commit ํ๋ ์ญํ ์ ๋ด๋นํฉ๋๋ค. ์ด offset์ Kafka์ ๋ด๋ถ ํ ํฝ์ธ __consumer_offsets์ ์ ์ฅ๋๋ฉฐ,.. 2024. 3. 6. [Kafka] ํ๋ก๋์ ๋ฉฑ๋ฑ์ฑ ๋ณด์ฅํ๊ธฐ ๊ฐ์๋ฉฑ๋ฑ์ฑ์ ๋์ผํ ์์ ์ ์ฌ๋ฌ ๋ฒ ์ํํ๋๋ผ๋ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ ๋ํ๋๋ ํน์ฑ์ ์๋ฏธํฉ๋๋ค. ๋ฐ๋ผ์ ๋ฉฑ๋ฑ์ฑ์ ์ง๋ ํ๋ก๋์๋ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๋ฒ ์ ์กํ๋๋ผ๋ ํด๋น ๋ฐ์ดํฐ๊ฐ ์นดํ์นด ํด๋ฌ์คํฐ์ ๋จ ํ ๋ฒ๋ง ์ ์ฅ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.๊ทธ๋ ๋ค๋ฉด ํ๋ก๋์์ ์ด๋ป๊ฒ ๋ฉฑ๋ฑ์ฑ์ ์ ์ฉํ๊ณ , ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ์ ์ค๋ณต ์ ์ฅ ์์ด ์ ํํ ํ ๋ฒ๋ง ์ ์ฅ๋๋๋ก ๋ณด์ฅํ ์ ์์๊น์? ์ด๋ฒ ๊ธ์์๋ ํ๋ก๋์์ ๋ฉฑ๋ฑ์ฑ์ ๋ณด์ฅํ๋๋ก ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ๊ฒ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฉ์์ง ์ ์ก ๋ฐฉ์Producer์ Broker์ ์ค์ ๋ฐ ๊ตฌ์ฑ์ ๋ฐ๋ผ Kafka์์๋ ๋ฉ์์ง ์ ๋ฌ ๋ณด์ฅ ์์ค์ ์๋์ ๊ฐ์ด ์ธ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ๊ตฌ๋ถํฉ๋๋ค. ์ต๋ ํ ๋ฒ (At most once): ๋ฉ์์ง๊ฐ ํ ๋ฒ๋ง ์ ์ก๋๋ฉฐ, ์ฌ์ ์ก์ ๋ฐ์ํ์ง ์๋๋ค. ๊ทธ๋ฌ๋.. 2024. 2. 1. [Kafka] ๋ฆฌ๋ฐธ๋ฐ์ฑ ์ข ๋ฅ์ ํํฐ์ ํ ๋น ์ ๋ต ๊ฐ์์นดํ์นด ์ปจ์๋จธ๋ ํ ํฝ์ ๊ฐ ํํฐ์ ์์ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๋ ์ญํ ์ ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ํน์ ์ปจ์๋จธ๊ฐ ๋ฌธ์ ๋ฅผ ๊ฒช๊ฒ ๋๋ฉด ๊ทธ ์ปจ์๋จธ๊ฐ ์ฒ๋ฆฌํ๋ ํํฐ์ ์ ์์ ๊ถ์ ๋ค๋ฅธ ์ปจ์๋จธ๋ก ๋๊ฒจ์ผ ํฉ๋๋ค. ์ด๋ฐ ๊ณผ์ ์ '๋ฆฌ๋ฐธ๋ฐ์ฑ'์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ ์ฃผ๋ก ์๋ ๋ค ๊ฐ์ง ์ํฉ์์ ๋ฐ์ํฉ๋๋ค.์ปจ์๋จธ ๊ทธ๋ฃน์ ์๋ก์ด ์ปจ์๋จธ๊ฐ ์ถ๊ฐ๋ ๋๊ธฐ์กด ์ปจ์๋จธ๊ฐ ๊ทธ๋ฃน์์ ๋๊ฐ ๋๊ตฌ๋ ํ๋ ํ ํฝ์ ์๋ก์ด ํํฐ์ ์ด ์๊ธธ ๋์ปจ์๋จธ๊ฐ ๊ตฌ๋ ํ๋ ํ ํฝ์ด ๋ณ๊ฒฝ๋ ๋๋ฆฌ๋ฐธ๋ฐ์ฑ์ด ๊ฐ์ฅ ๋ง์ด ์ผ์ด๋๋ ์ผ๋ฐ์ ์ธ ์ํฉ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ์์ ๋๋ค. ๊ธฐ์กด ์ ํ๋ฆฌ์ผ์ด์ ์ข ๋ฃ ํ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋๋ฉด์, ๊ธฐ์กด ์ปจ์๋จธ๊ฐ ์ญ์ ๋๊ณ ์๋ก์ด ์ปจ์๋จธ๊ฐ ์์ฑ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด ๊ณผ์ ์์ ๋ฆฌ๋ฐธ๋ฐ์ฑ์ด ์ต์ ๋ ๋ฒ ์ด์ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค.๊ทธ๋ฆฌ๊ณ ๋ฆฌ๋ฐธ๋ฐ์ฑ ๊ณผ์ ์ ์๋์ ๊ฐ์ ๋ฌธ์ ์ ์ ๋๋ฐํฉ๋๋ค.. 2024. 1. 7. ์ด์ 1 ๋ค์