์์ํ๋ฉฐ... ๐
์ด๋ฒ์๋ 4๊ฐ์ ์ฑ๋ฅ ๋ชฉํ ์ค ์ฒซ ๋ฒ์งธ๋ก Latency์ ๋ํด์ ์ด๋ค ํ๋ผ๋ฏธํฐ๋ฅผ ํ๋ํ๋์ง ์์๋ณด๊ฒ ์ต๋๋ค. ํ๋ก๋์์ ์ปจ์๋จธ์ option ์ค ์ด๋ค option์ด Throughput์ ์ํฅ์ ์ฃผ๋์ง ์์๋ณด๋ฉฐ ์ด๋ป๊ฒ ์ด ์ต์ ์ ํ๋ผ๋ฏธํฐ๊ฐ ์ํฅ์ ์ฃผ๋ฉฐ, ์ด๋ป๊ฒ ์ค์ ํด์ผ ํ๋์ง๋ฅผ ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
Latency : ์ง์ฐ ์๊ฐ์ผ๋ก ๋ถ๋ฆฌ์ฐ๋ฉฐ, ์นดํ์นด๊ฐ ์ผ๋ง๋ ๋น ๋ฅด๊ฒ ํ๋์ ๋ฉ์์ง๋ฅผ ๋น ๋ฅด๊ฒ ์ ๋ฌํ๋์ง์ ๋ฉํธ๋ฆญ์ด๋ค.
1. Broker๋ฅผ ํตํ Latency ์ต์ ํ ๐๐
Partition ๊ฐ์ ์ ํ
Latency์ ์ค์ด๊ธฐ ์ํด์๋ ํํฐ์ ์ ๊ฐ์๋ฅผ ์ค์ด๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํฉ๋๋ค. ํํฐ์ ์ ์๊ฐ ๋ง์ผ๋ฉด ๋ง์์๋ก ๋ฉ์์ง์ Latency๋ฅผ ์ ๋ฐํ๊ฒ ๋๋๋ฐ, ํํฐ์ ์ ๋ณต์ฌ๋ฅผ ์ํ ์๊ฐ๋งํผ Latency๊ฐ ๋ฐ์๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํํฐ์ ์ ๊ฐ์๋ฅผ ์ ํํ๋ ๋ฐฉ์์ผ๋ก Latency๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
Broker ์ โฌ๏ธ, partition โฌ๏ธ
๊ทธ ๋ค์ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ค๊ฐ์ธ์ ์๋ฅผ ๋๋ฆฌ๊ณ ํํฐ์ ์๋ฅผ ์ค์ด๋ ๋ฐฉ๋ฒ์ ๋๋ค. ํ๋์ broker์์ ๋ด๋นํ๋ partition ์๋ฅผ ์ค์ฌ์ Replication ํ๋ ๋ฐ์ ์์๋๋ ์๊ฐ์ ์ต์ํ์ํฌ ์ ์๋๋ก ํฉ๋๋ค.
num.replica.fetchers
ํด๋น ์ต์ ์ Broker์ ์ต์ ์ผ๋ก ์์ค ๋ธ๋ก์ปค์ ๋ฉ์์ง๋ฅผ ๋ณต์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ค๋ ๋ ์๋ฅผ ์ง์ ํ๋ ๊ฒ์ ๋๋ค. ์ด ๊ฐ์ ๋๋ฆฌ๋ฉด ๋ธ๋ก์ปค์ I/O ์กฐ์์์ ๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ๋์ด๋ ์ ์์ต๋๋ค. ๋๋ฌธ์ ๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ๋์ด๋ ์ฒ๋ฆฌํ๋๋ฐ Latency๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
2. Producer๋ฅผ ํตํ Latency ์ต์ ํ ๐๐
linger.ms (default 0)
ํด๋น ์ต์ ์ prodcuer์ ์ต์ ์ผ๋ก ๊ทธ๋ค์ ๋ฐฐ์น ํํ์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ธฐ ์ ์ ์ถ๊ฐ์ ์ธ ๋ฉ์์ง๋ค์ ์ํด ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ ์กฐ์ ํ๋ ์ต์ ์ ๋๋ค.
0์ผ๋ก ์ค์ ํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ์๊ฐ broker๋ก ์ ์กํฉ๋๋ค. (์ง์ฐ ์์)
compression.type
ํด๋น ์ต์ ์ prodcuer์ ์ต์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ถํด์ ๋ณด๋ผ ์ ์๋๋ฐ, ์ด๋ค ํ์ ์ผ๋ก ์์ถํ ์ง๋ฅผ ์ ํ ์ ์๋ ์ต์ ์ ๋๋ค.
- CPU : ์์ถ์ ์ํ ์์ ์ฌ์ฉ
- NW : ์์ถ๋ ๊ฒฝ์ฐ NW bandwidth ์ฌ์ฉ๋ ์ค์ด๋ฆ
- ์์ถ ์ฑ๋ฅ์ ๋ฐ๋ผ cpu ์ฌ์ฉ, nw bandwidth ์ค์ฌ์ ์ง์ฐ ์ต์ํ ๊ฐ๋ฅ
acks
ํด๋น ์ต์ ์ prodcuer์ ์ต์ ์ผ๋ก ํ๋ก๋์๊ฐ ์นดํ์นด ํ ํฝ์ ๋ฆฌ๋์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ธ ํ ์์ฒญ์ ์๋ฃํ๊ธฐ ์ ack์ ์์ ๋๋ค.
ํด๋น ์ต์ ์ 0, 1, all or -1 ๊ฐ์ ๊ฐ์ง ์ ์๋๋ฐ, 1๋ก ์ค์ ํ๋ฉด ๋ฐ์ดํฐ ๋ณต์ ์์ด, ์๋ณธ๋ง ์ ์ฅ๋๋ฉฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํดํ์ฌ Latency๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
3. Consumer๋ฅผ ํตํ Latency ์ต์ ํ ๐๐
fetch.min.bytes (default 1)
ํด๋น ์ต์ ์ Consumer์ ์ต์ ์ผ๋ก ํ ๋ฒ์ ๊ฐ์ ธ์ฌ ์ ์๋ ์ต์ ๋ฐ์ดํฐ ์ฌ์ด์ฆ์ ๋๋ค. ๋ง์ฝ ์ง์ ํ ์ฌ์ด์ฆ๋ณด๋ค ์์ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๊ฐ ๋์ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
ํด๋น ์ต์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ 1๋ก ์ค์ ํ๋ฉด ์์ฒญ ์ ๋ฐ๋ก ์ ์กํ ์ ์์ด Latency๊ฐ ์์ต๋๋ค.
REFERENCE
[1]. https://devidea.tistory.com/90
[2]. https://firststep-de.tistory.com/35
[3]. https://www.ibm.com/docs/ko/oala/1.3.5?topic=SSPFMY_1.3.5/com.ibm.scala.doc/config/iwa_cnf_scldc_cnf_kfk_t.html
[4]. https://www.popit.kr/kafka-%EC%9A%B4%EC%98%81%EC%9E%90%EA%B0%80-%EB%A7%90%ED%95%98%EB%8A%94-producer-acks/
[5]. https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=freepsw&logNo=221028179182
[6]. https://www.confluent.io/blog/optimizing-apache-kafka-deployment/