Backend/๐ Kafka(3)
-
[kafka] ๋ฆฌ๋ฐธ๋ฐ์ฑ ์ข ๋ฅ์ ์ปจ์๋จธ ํํฐ์ ํ ๋น ์ ๋ต
๊ฐ์์นดํ์นด ์ปจ์๋จธ๋ ๋ธ๋ก์ปค์ ๋ฉ์์ง๋ฅผ ๊ฐ์ ธ์ ์ฒ๋ฆฌํ๋ ์ญํ ์ ๋งก๋๋ค. ๊ฐ๋ณ ์ปจ์๋จธ๋ฅผ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด ์ปจ์๋จธ ๊ทธ๋ฃน์ผ๋ก ๊ด๋ฆฌํ ์๋ ์์ผ๋ฉฐ ์ปจ์๋จธ ๊ทธ๋ฃน ๋ด์์ ์ด๋ค ํ ํฝ์ ํํฐ์ ๊ณผ ๋งค์นญ๋๋์ง๋ฅผ ํน์ ์ ๋ต์ ๋ฐ๋ผ ์ง์ ํ ์ ์๋ค. ํน์ ์ปจ์๋จธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ํด๋น ์ปจ์๋จธ๊ฐ ์ฒ๋ฆฌํ๋ ํํฐ์ ์ ๊ทธ๋ฃน ๋ด ๋ค๋ฅธ ์ปจ์๋จธ์๊ฒ ๋งค์นญํด์ผ ๋๋ ์ํฉ์ด ๋ฐ์ํ ์ ์๋ค. ์ด๋ฐ '๋ฆฌ๋ฐธ๋ฐ์ฑ' ๊ณผ์ ์ ์๋์ ์ํฉ์์ ๋ฐ์ํ ์ ์๋ค. 1. ์ปจ์๋จธ ๊ทธ๋ฃน์ ์ ๊ท ์ปจ์๋จธ๊ฐ ์ถ๊ฐ ๋ ๋2. ์ปจ์๋จธ ๊ทธ๋ฃน์ ๊ธฐ์กด ์ปจ์๋จธ๊ฐ ์ดํํ ๋3. ํ ํฝ์ ํํฐ์ ์ ์๊ฐ ๋ณ๊ฒฝ๋ ๋ (์ถ๊ฐ/๊ฐ์)4. ์ปจ์๋จธ๊ฐ ๊ตฌ๋ ํ๋ ํ ํฝ์ด ๋ณ๊ฒฝ๋ ๋ (๋ฌผ๋ก ์คํํฑ ๋ฉค๋ฒ์ญ์ ์ ์ฉํ๋ฉด ์ปจ์๋จธ ๊ทธ๋ฃน ์ดํ ํ ์ฌํฉ๋ฅํด๋ ๋ฆฌ๋ฐธ๋ฐ์ฑ์ด ์ผ์ด๋์ง ์๋๋ค.) ๋ฆฌ๋ฐธ๋ฐ์ฑ์ ๋จ์ํ ์ปจ์๋จธ์ ๋ด..
2024.05.04 -
[Kafka] Avro ์์๋ณด๊ธฐ
์๋ก ๋ฐ์ดํฐ๋ฅผ ํ์ผ์ ์ฐ๊ฑฐ๋ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์กํ๋ ค๋ฉด ๋ฐ์ดํธ์ด ํํ๋ก encoding ์์ ์ด ํ์ํ๋ค. ์ธ๋ฉ๋ชจ๋ฆฌ ํํ์์ ๋ฐ์ดํธ์ด๋ก ์ ํํ๋ ์์ ์ ์ธ์ฝ๋ฉ(encoding, ๋ถํธํ, serializing) ์ด๋ผ ํ๋ฉฐ, ๊ทธ ๋ฐ๋๋ฅผ ๋์ฝ๋ฉ(decoding, ๋ณตํธํ, deserializing) ์ด๋ผ ํ๋ค. Binary Encoding ์ฌ๋ฌ ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ์ด ์กด์ฌํ์ง๋ง ์ฐ์ ์ด์ง ๋ถํธํ ๋ฐฉ์์ ์ดํด๋ณด์. ์ด์ง ๋ถํธํ๋ ๋ฐ์ดํฐ๋ฅผ ์ด์ง ์ซ์(0, 1)๋ก ํํํ๋ ๊ณผ์ ์ ์๋ฏธํ๋ค. ๋ฐ์ดํฐ๋ฅผ ์ด์ง ํํ๋ก ํํํ๊ธฐ ๋๋ฌธ์ JSON, XML ๊ฐ์ ๋ถํธํ ๋ฐฉ๋ฒ๋ณด๋ค ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์ ์ก์ด ๊ฐ๋ฅํ๋ค. ๊ฐ๋ ์ฑ์ด ๋ฐ์ด๋ JSON ๋ฐฉ์๋ณด๋ค ์ฝ๊ธฐ๋ ์ด๋ ต๊ฒ ์ง๋ง ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์ ์ ์ฅํด์ผ ํ๋ ์ํฉ์ด๋ผ๋ฉด ์ด์ง ๋ถํธํ๊ฐ ์ข์ ์ ํ์ด..
2024.03.04 -
[Kafka ์๋ฌ] LEADER_NOT_AVAILABLE
์ํฉ ์นดํ์นด ํด๋ฌ์คํฐ ๊ตฌ์ถ ์ค ๋ฐ์ํ ์๋ฌ. ๋์ปค ์ปดํฌ์ฆ๋ฅผ ํ์ฉํด ๋ธ๋ก์ปค 3๋, ์ฃผํคํผ 1๋ ์กฐํฉ์ผ๋ก ์นดํ์นด ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ๋ค. ๋ธ๋ก์ปค ๋ด๋ถ์์ kafka-console-producer ๋ก topic ์ ๋ฉ์์ง๋ฅผ ๋ฐํํ๋๋ฐ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์๋ฌ ๋ฉ์์ง WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 3 : {test=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient) ์์ธ๊ณผ ํด๊ฒฐ ๋ฉ์์ง๋ฅผ ๋ฐํํ๊ณ ์ ํ ํ ํฝ์ด ์์ง ์์ฑ๋์ง ์์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ์๋ฌ์๋ค. ๋์ปค ์ปดํฌ์ฆ yml ์์ฑ ์ ์๋ ์ต์ ์ true ๋ก ์ค์ ํ๋ฉด ํ ํฝ์ด ์..
2024.01.04