• ์๋ ํ์ธ์~ ์ด์ ์ ์ด์ํ๋ ๋ธ๋ก๊ทธ ๋ฐ GitHub, ๊ณต๋ถ ๋ด์ฉ์ ์ ๋ฆฌํ๋ Study-GitHub ๊ฐ ์์ต๋๋ค!
• ๐
โ Kafka/์นดํ์นด ์๋์ฐ ์ค์น & ํ ์คํธ ํ๊ธฐ
์๋ ํ์ธ์~ ์ด๋ฒ ์๊ฐ์๋ ์๋์ฐ์์ ์นดํ์นด๋ฅผ ์ค์นํ๊ณ ์คํํด์ ๊ฐ๋จํ๊ฒ ํ ์คํธ๋ฅผ ์งํํด๋ณด๊ฒ ์ต๋๋ค.
• ์นดํ์นด๋ ?
์ค์๊ฐ์ผ๋ก ๊ธฐ๋ก ์คํธ๋ฆผ์ ๊ฒ์, ๊ตฌ๋
, ์ ์ฅ ๋ฐ ์ฒ๋ฆฌํ ์ ์๋ ๋ถ์ฐ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์
๋๋ค. ์ฌ๋ฌ ์์ค์์ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ์ฒ๋ฆฌํ๊ณ ์ฌ๋ฌ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ฆ, ๊ฐ๋จํ ๋งํ์๋ฉด A์ง์ -> B์ง์ ์ด๋ํ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ A์ง์ -> Z์ง์ ์ ๋น๋กฏํด ํ์ํ ๋ชจ๋ ๊ณณ์์ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ๋์์ ์ด๋ํ ์ ์์ต๋๋ค. Apache Kafka๋ ์ ํต์ ์ธ ์ํฐํ๋ผ์ด์ฆ ๋ฉ์์ง ์์คํ ์ ๋์์ ๋๋ค. ํ๋ฃจ์ 1์กฐ4์ฒ์ต ๊ฑด์ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด LinkedIn์ด ๊ฐ๋ฐํ ๋ด๋ถ ์์คํ ์ผ๋ก ์์ํ์ผ๋, ํ์ฌ ์ด๋ ๋ค์ํ ๊ธฐ์ ์ ์๊ตฌ์ฌํญ์ ์ง์ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ์ถ ์คํ์์ค ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ ์๋ฃจ์ ์ด ๋์์ต๋๋ค. ๋ณด๋ค ์์ธํ ๋ด์ฉ์ ๋ค์ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์! www.redhat.com/ko/topics/integration/what-is-apache-kafka Kafka ์ดํดํ๊ธฐ Kafka ์กฐ๊ธ ์๋ ์ฒ ํ๊ธฐ 1 (์์) team-platform.tistory.com/11 |
โ ์๋ ์ฌ์ดํธ๋ฅผ ์ ์ํฉ๋๋ค.
โ ํ์ฌ ์นดํ์นด์ ์ต์ ๋ฒ์ ์ 2.7.0 ๋ฒ์ ์ธ๋ฐ์, ์ ๋ 2.6.1 ๋ฒ์ ์ ๋ค์ด๋ฐ๋๋ก ํ๊ฒ ์ต๋๋ค!
์๋ ๋ณด์ด๋ .tzg ํ์ผ์ ๋ค์ด๋ฐ์ต๋๋ค.
(์ต์ ๋ฒ์ ์ ๋ค์ด ๋ฐ๋๋ผ๋ ๋์ผํ๊ฒ ์์ ํ์๋ฉด ๋ ๋ฏ ํฉ๋๋ค.)
(๋ํ Scala์ ๋ฒ์ ์ ๋ฐ๋ผ ๋๋์ด์ง๋๋ฐ, ์ค์นผ๋ผ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์๋ฌด ๋ฒ์ ์ด๋ ์๊ด์๋ ๋ฏ ํฉ๋๋ค..)
โ ์์์ ๋ค์ด๋ฐ์ .tgz ์์ถ ํ์ผ์ ํด์ ํฉ๋๋ค.
โ Kafka์ ๋์์ Zookeeper์ ํจ๊ป ์๋ํ๊ธฐ ๋๋ฌธ์ Zookeeper ์์ด๋ Kafka๋ฅผ ๊ตฌ๋ํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ Zookeper์ ๋จผ์ ๊ตฌ๋ํด์ฃผ๋๋ก ํฉ๋๋ค.
โป ๋ฐ๋์ Zookeeper ์๋ฒ๋ฅผ ๋จผ์ ๊ตฌ๋ํด์ผ ํฉ๋๋ค.
(์ ๋ cmd์ฐฝ์ด ์๋ PowerShell ์์ ์์ ์ ์งํํ๊ฒ ์ต๋๋ค.)
• ์๋ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
* bin ํด๋๋ก ๋ค์ด๊ฐ์์ง ๋ง๊ณ kafka ๊ฒฝ๋ก์์ ๋ฐ๋ก ์คํํ์๋ฉด ๋ฉ๋๋ค.
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
+ ํน์๋ ์๋์ ๊ฐ์ ๋ฌธ๊ตฌ๊ฐ ๋์ค๋ฉด ์นดํ์นด์ ํด๋๋ฅผ ๋ค๋ฅธ ๊ณณ์ ์ง์ ํ์ ์ ๊ฒฝ๋ก๋ฅผ ์งง๊ฒ ํด์ฃผ์ธ์!!
โ ์ ๊ณผ์ ์ ํตํด Zookeeper์ด ๊ตฌ๋ ๋์์ผ๋ฉด ์ด์ Kafka๋ฅผ ๊ตฌ๋ํฉ๋๋ค.
• PowerShell์ ํ๋ ๋ ์ด๊ณ ์นดํ์นด ์๋ฒ๋ฅผ ์คํํฉ๋๋ค.
* bin ํด๋๋ก ๋ค์ด๊ฐ์์ง ๋ง๊ณ kafka ๊ฒฝ๋ก์์ ๋ฐ๋ก ์คํํ์๋ฉด ๋ฉ๋๋ค.
bin\windows\kafka-server-start.bat config\server.properties
์์ฒญ๋๊ฒ ๋ง์ ๋ก๊ทธ๊ฐ ์ฐํํ ๋ฐ์, ์์ ๊ฐ์ด started ๋ผ๋ ๋ก๊ทธ๊ฐ ์ฐํ๋ฉด ์ ์์ ์ผ๋ก ์นดํ์นด ์๋ฒ๊ฐ ์คํ๋์์ต๋๋ค.
โ Windows PowerShell ์ ํ๋ ๋ ์คํํด netstat -a ๋ช ๋ น์ด๋ฅผ ํตํด ํฌํธ๋ฅผ ํ์ธํฉ๋๋ค.
• ์ฃผํคํผ์ default ํฌํธ๋ 2181์ด๊ณ , ์นดํ์นด์ default ํฌํธ๋ 9092 ์ ๋๋ค.
โ Kafka ํ ์คํธ ํ๊ธฐ
์์ ๊ฐ์ด Zookeeper ์ Kafka ์๋ฒ๊ฐ ๊ตฌ๋๋์์ผ๋ฉด, ๊ฐ๋จํ๊ฒ ํ ์คํธ๋ฅผ ์งํํด๋ณด๊ฒ ์ต๋๋ค.
PowerShell์ ํ๋ ๋ ์ด๊ณ Kafka ์ค์น ๊ฒฝ๋ก > \bin\windows ๋ก ์ด๋ํฉ๋๋ค.
(ํ์ฌ๊น์ง ์คํ ํ PowerShell์ Zookeeper ์๋ฒ, Kafka ์๋ฒ, ํฌํธ ํ์ธ, ํ ์คํธ ๋ก ์ด 4๊ฐ์ ์์ ์คํํ์ต๋๋ค.)
• ์นดํ์นด ๋ธ๋ก์ปค(broker)์ ํ ํฝ(topic) ์์ฑํ๊ธฐ
.\kafka-topics.bat --create --bootstrap-server localhost:9092 --topic test
• create ์ต์ ์ผ๋ก test๋ผ๋ ํ ํฝ์ ์์ฑํ๊ณ , bootstrap-server ์ต์ ์ผ๋ก ์นดํ์นด ์๋ฒ์ธ 9092 ํฌํธ์ ์ฐ๊ฒฐ
• ์์ฑ๋ ํ ํฝ ํ์ธ
.\kafka-topics.bat --list --bootstrap-server localhost:9092
• ํ๋ก๋์(producer)๋ฅผ ์คํํ์ฌ ํ ํฝ(test)์ ๋ฉ์์ง ๋ณด๋ด๊ธฐ(push)
.\kafka-console-producer.bat --broker-list localhost:9092 --topic test
• > ๋ชจ์์ด ๋ํ๋๋ฉด ๋ณด๋ผ ๋ฉ์์ง๋ฅผ ์ ๋ ฅํ์๋ฉด ๋ฉ๋๋ค. (์ ๋ ์ค๊ฐ์ ์ข ๋ฃํด์ ๋ ๋ฒ์ ๋ฉ์์ง๋ฅผ ์์ฑํ์ต๋๋ค!)
• ์ปจ์๋จธ(consumer)๋ฅผ ์คํํด์ ํ ํฝ(test)์์ ๋ฉ์ธ์ง๋ฅผ ๊ฐ์ ธ์ค๊ธฐ(pull)
.\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
๋ํ ํ๋ก๋์๋ฅผ ํตํด ๋ฉ์์ง๋ฅผ ๊ณ์ ๋ณด๋ผ๊ฒฝ์ฐ(push), ์ปจ์๋จธ๊ฐ ๋ฉ์์ง๋ฅผ ๋ฐ์์ต๋๋ค(pull)
• Kafka์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
--from-beginning ๋ช ๋ น์ด๋ ๊ธฐ์กด์ ์ ๋ ฅํ ๋ฉ์์ง๋ฅผ ๊ฐ์ ธ์ฌ์ง ์๊ฐ์ ธ์ฌ์ง๋ฅผ ์ค์ ํ๋ ๋ช ๋ น์ด์ ๋๋ค.
โ References
cookiethecat2020.blogspot.com/2020/03/blog-post_14.html
'DevOps' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
GitHub-Actions๋ก CI/CD ๊ตฌ์ถํ๊ธฐ(AWS, Docker, SpringBoot) (18) | 2022.05.03 |
---|---|
[Docker] Spring Boot + Docker + AWS EC2 ๋ฐฐํฌํ๊ธฐ(MacOS M1) (1) | 2021.07.19 |
GitHub Action์ ํตํ CI ๊ตฌ์ถํ๊ธฐ (SpringBoot + Maven) (2) | 2021.05.14 |
๋๊ธ