EX482
Red Hat Certified Specialist in Event-Driven Application Development Exam
Red Hat Certified Specialist in Event-Driven Application Development exam์ Apache Kafka๋ฅผ ์ฌ์ฉํ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋ฉ ๋ฐ Apache Kafka Streams ๊ฐ๋ฐ๊ณผ ๊ด๋ จ๋ ๊ธฐ์ ๋ฐ ์ง์์ ํ ์คํธํฉ๋๋ค. ์ด ์ํ์ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๋ ๋ฐ ํ์ํ ๊ธฐ๋ณธ ๊ธฐ์ ์ ์ค์ ์ ๋ก๋๋ค.
์ด ์ํ์ ํฉ๊ฒฉํ๋ฉด Red Hat Certified Specialist in Event-Driven Development with Kafka ์๊ฒฉ์ฆ์ ์ทจ๋ํ๊ฒ ๋๋ฉฐ, ์ด๋ Red Hat Certified Architect(RHCAยฎ) ์๊ฒฉ์ฆ ์ทจ๋ ์ ๊ฐ์ฐ์ ์ผ๋ก ๋ฐ์๋ฉ๋๋ค.
์ด ์ํ์ ๋์ด๋ ๋ชฉํ๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ Red Hat ์ ํ์ ๋ฐํ์ผ๋ก ํฉ๋๋ค. ์ด ์ํ์ ๊ตฌ์ ๊ฐ๋ฅํ ๋ฒ์ ์ ๋ชจ๋ ๋ณด๋ ค๋ฉด โ์์ํ๊ธฐโ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ํ ์์ ๋์
Red Hat Certified Specialist in Event-Driven Development ์๊ฒฉ์ฆ ์ทจ๋ ๋์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Apache Kafka ๋ฐ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌํํ๋ Java ๊ฐ๋ฐ์ ๋ฐ ์ค๊ณ์
- Red Hat Certified Architect(RHCA) ์๊ฒฉ์ฆ ์ทจ๋์ ๊ด์ฌ์ด ์๋ Red Hat Certified Professional
์ ์ ์กฐ๊ฑด
- Red Hat Enterprise Linux ํ๊ฒฝ์์ VSCode/VSCodiium ์ฌ์ฉ๋ฒ์ ๋ํด ์ ์๊ณ ์์ด์ผ ํฉ๋๋ค.
- ํต์ฌ Java ๊ฐ๋ ๋ฐ API์ ๋ํ ์ง์๊ณผ ์ดํด๋ฅผ ํฌํจํ์ฌ Java SE์ ๋ํ ์ถฉ๋ถํ ๊ฒฝํ. ์๋ฅผ ๋ค์ด ์์ธ, ์ฃผ์, ๋๋ค, ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๋ฐ ์ปฌ๋ ์ API์ ๋ํ ์ง์์ด ๋ชจ๋ ํ์ํฉ๋๋ค.
- OpenShift/์ฟ ๋ฒ๋คํฐ์ค์ ๋ํ ์ฝ๊ฐ์ ์ง์์ด ๋์์ด ๋ ์ ์์ต๋๋ค.
- ๋ฌด๋ฃ ํ๊ฐ๋ฅผ ํตํด ์ด ์ํ์ ์ค๋นํ๋ ๋ฐ ๊ฐ์ฅ ๋์์ด ๋ ๊ต์ก ๊ณผ์ ์ฐพ๊ธฐ
์ค๋น ์ฌํญ
Red Hat์ ์์์๊ฐ ์ด ์ํ์ ์์ํ๊ธฐ ์ ์ Red Hat Certified Cloud-Native Developer(EX378) ์๊ฒฉ์ฆ์ ์ทจ๋ํ ๊ฒ์ ๊ถ์ฅํ์ง๋ง ํ์ ์ฌํญ์ ์๋๋๋ค.
์ํ ๋๋น๋ฅผ ์ํ ํ์ต ํฌ์ธํธ
์ํ ์์์๋ ๋ค์ ํ์คํฌ๋ฅผ ์ํํ ์ ์์ด์ผ ํฉ๋๋ค.
- ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ์ดํดํ๊ณ AMQ Streams API๋ก ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ฌ์ฉ
- Kafka์์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ ์ฝ๋ ๋ฐฉ๋ฒ ์ดํด
- ๋ง์ดํฌ๋ก์๋น์ค์ ๋ค๋ฅธ ์ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ์ฌ ๋งค์ฐ ๋ง์ ์ฒ๋ฆฌ๋๊ณผ ์งง์ ๋๊ธฐ ์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ์ ์๋ ๋ฅ๋ ฅ
- Kafka ์์ฝ์์คํ
๋ฐ ์ํคํ
์ฒ ์ดํด:
- ์ฃผ์ ๋ฅผ ๋ง๋ค๊ณ ๊ตฌ์ฑํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ
- ๋งค์ฐ ๋ง์ ์ฒ๋ฆฌ๋๊ณผ ์งง์ ๋๊ธฐ ์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋๋ก ์์ฝ์์คํ ์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ
- ๋ฉ์์ง ์์๋ฅผ ํ์ฅํ๊ณ ๋ณด์ฅํ๋ ๋ฐฉ๋ฒ
- ์ด์ ๋ ์ฝ๋๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํ ๋ฉ์์ง ์์ถ ๋ฐ ์ค์ ๋ฐฉ๋ฒ
- ๋ด๊ฒฐํจ์ฑ์ ์ ์ดํ๊ธฐ ์ํ ๋ฐ์ดํฐ ๋ณต์ ๊ตฌ์ฑ ๋ฐ ์ฌ์ฉ
- ์ฆ๊ฐ์ ์ธ ์ก์ธ์ค๋ฅผ ์ํด ๋๋์ ๋ฐ์ดํฐ ๋ณด์
- Kafka์ ์ฐ๊ฒฐ๋ Quarkus ์ ํ๋ฆฌ์ผ์ด์
์ดํด ๋ฐ ์ฌ์ฉ
- Reactive Messaging์ ์ฌ์ฉํ์ฌ Kafka์ ์ฐ๊ฒฐ
- ๋ค์ดํฐ๋ธ API๋ฅผ ์ฌ์ฉํ์ฌ Apache Kafka์ ์ฐ๊ฒฐ
- ๋ฉ์์ง๋ฅผ ์์ฑ ๋ฐ ์ฌ์ฉํ๊ณ ์ด๋ฒคํธ ๊ธฐ๋ฐ ๋ฐ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌํ
- Quarkus๊ฐ ์ฌ์ฉํ๋ ๋ฐ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Asynchronous Java ๋๋ Publisher API, RxJava ๋๋ Reactor API, Mutiny ๋ฑ)์ ๋ํ ์ง์
- Kafka ํด๋ฌ์คํฐ์ ๋ํ ์ก์ธ์ค ์ ๊ณต ๋ฐ ๊ตฌ์ฑ
- ํด๋ผ์ฐ๋์์ Kafka์ ์ธ๋ถ ๋ฆฌ์ค๋์ ์ก์ธ์คํ ์ ์๋ ๋ฅ๋ ฅ ์ฟ ๋ฒ๋คํฐ์ค ๋๋ Red Hat OpenShift์ ๊ฒฝ์ฐ ๋ ธ๋ ํฌํธ, ๋ก๋ ๋ฐธ๋ฐ์๋ฅผ ํตํด, ์ธ๋ถ์ ์ผ๋ก๋ ์์ ๋๋ OpenShift ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐํฉ๋๋ค.
- Kafka ํด๋ผ์ด์ธํธ์ ํด๋ฌ์คํฐ ๊ฐ ํต์ ๋ณด์์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ ์ดํด
- ๋ฉ์์ง๋ฅผ ์์ฑ ๋ฐ ์ฌ์ฉํ๊ณ ์ด๋ฒคํธ ๊ธฐ๋ฐ ๋ฐ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌํ
- ํ์ ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ ๋ณด์์ ์ํ Kafka ํด๋ผ์ด์ธํธ ๊ตฌ์ฑ ์ดํด ๋ฐ ์ ๊ณต
- Red Hat Service Registry ์คํค๋ง๋ฅผ ์ ๊ณตํ๊ณ ์ฌ์ฉํ์ฌ ๋ฐํ์์ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์
์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌ, ๊ณต์ ๋ฐ ๊ด๋ฆฌ
- Streams DSL ๋ฐ Processor API์ ๊ฐ์ ๋ค์ํ Kafka Streams API ์ดํด ๋ฐ ์ฌ์ฉ
- ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฒดํํ๊ธฐ ์ํด ๋ ์ฝ๋์ ๋ํ ์ ์ ํ Kafka SerDes(์ง๋ ฌ ๋ณํ๊ธฐ/์ง๋ณ๋ ฌ ๋ณํ๊ธฐ) ๊ตฌ์ฑ ๋ฐ ์ ๊ณต
- ํ๋ ์ด์์ ์ ๋ ฅ ์คํธ๋ฆผ์์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ , ๋งคํ, ํํฐ๋ง ๋๋ ์กฐ์ธ, ์ฌ๋ถํ ๋ฐ/๋๋ ๊ทธ๋ฃนํ์ ๊ฐ์ ๋ณต์กํ ์์ ์ ์คํํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ํ๋ ์ด์์ ์ถ๋ ฅ ์คํธ๋ฆผ์ ์์ฑํ ์ ์๋ ๋ฅ๋ ฅ
- ์คํธ๋ฆผ-ํ ์ด๋ธ ์ด์ค์ฑ์ ์ดํดํ๊ณ ์กฐ์ธ, ์ง๊ณ, ๊ธฐ๊ฐ ์ง์ ์กฐ์ธ๊ณผ ๊ฐ์ ์คํ ์ดํธํ(stateful) ์์ ์ํ
- ํ๋ก์ธ์ API๋ฅผ ์ฌ์ฉํ์ฌ ์ํ ์ ์ฅ์์ ์ํธ ์์ฉํ๋๋ก ์ฌ์ฉ์ ์ ์ ํ๋ก์ธ์ ๋ฐ ๋ณํ๊ธฐ๋ฅผ ์ ์ํ๊ณ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ ์ดํด
- ๊ธฐ์กด ์ปฌ๋ ์ ์์ ์ ์ปฌ๋ ์ ์ ๋์ถํ๊ณ ์ปฌ๋ ์ ๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ค๋ช ํ๋ ์ด๋ฒคํธ ์กฐ์ ์ดํด
- Kafka Connect๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ํตํฉ:
- Kafka Connect๊ฐ Kafka์ ๋ค๋ฅธ ์ด๊ธฐ์ข ๋ฐ์ดํฐ ์์คํ ๊ฐ ๋ฐ์ดํฐ ์ ์ก ์ ์์ ์ฑ๊ณผ ํ์ฅ์ฑ์ ์ ๊ณตํ๋ ๋ฐฉ์ ์ดํด
- Kafka Connect๊ฐ ๋ฐ์ดํฐ ๋ณํ, ํธ๋์คํฌ๋ฉ์ด์ ๋ฐ ์คํ์ ๊ด๋ฆฌ๋ฅผ ์ง์ํ๋ ๋ฐฉ์ ์ดํด
- Debezium์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ฌํญ ๊ฐ์ง ๋ฐ ์บก์ฒ(CDC) ์ ์ฉ
- ๋ค์ํ ๋ ๋ฆฝํ/๋ถ์ฐํ ์คํ ๋ชจ๋์ ํ์ฉ ์ฌ๋ก ์ดํด
- ์ฌ์ ๋น๋๋ AMQ Streams ์ปค๋ฅํฐ ์ฌ์ฉ
- Apache Kafka ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ณ ๊ธ ์ด๋ฒคํธ ๊ธฐ๋ฐ ํจํด ์ดํด ๋ฐ ์ฌ์ฉ:
- ์ด๋ฒคํธ ์์ฑ ๋ฐ CQRS ํจํด์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ธ์ ๋ฐ ์ฌ์ฉ
- Saga ์ค์ผ์คํธ๋ ์ด์ ๋ฐ ๋ฐ์ ํจ ํจํด์ ์ฌ์ฉํ ์ฅ๊ธฐ ์คํ ๋น์ฆ๋์ค ํธ๋์ญ์ ๊ณผ ๊ฐ์ ๊ณ ๊ธ ๊ธฐ์ ์ ์ดํดํ๊ณ ์ฌ์ฉํ์ฌ ๋ค์ํ ์๋น์ค ๊ฐ ๋ฐ์ดํฐ ๊ตํ
- ๋ฉ์์ง ๋ฐฐ์ด ์ ์ง ๊ด๋ฆฌ, ์ฌ์๋ ๋ฐ ๋ฉฑ๋ฑ์ฑ, ์ค๋ณต ์ด๋ฒคํธ ์ฒ๋ฆฌ, Streams ํ ์คํธ ์ฌ๋ก ๊ตฌํ๊ณผ ๊ฐ์ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ํด๊ฒฐ
์ํ ์ค์ ๋ฏธ๋ฆฌ ์์ฑ๋ ํ ๊ฐ ์ด์์ Java ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์์ ํด์ผ ํ ์ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋์ ์ผ๋ถ๋ฅผ ์์ ํด์ผ ํฉ๋๋ค.
Red Hat์ ๋ชจ๋ ์ํ ๊ธฐ๋ฐ ์ํ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ์ด๋ฌํ ๊ตฌ์ฑ์ ์ฌ๋ถํ ํ์๋ ๋ณ๊ฒฝ ์์ด ์ ์ง๋์ด์ผ ํฉ๋๋ค.
์ค๋น ์ฌํญ
Red Hat์ ์ค๋น์ ๋์์ด ๋๋๋ก Developing Event-Driven Applications with Apache Kafka and Red Hat AMQ Streams(AD482)๋ฅผ ์๊ฐํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
์ํ ํ์
๋ณธ ์ํ์ ์ค์ ๊ฐ๋ฐ ํ์คํฌ๋ฅผ ์ํํด์ผ ํ๋ ์ค์ฉ์ ์ธ ํธ์ฆ์จ ์ํ์ ๋๋ค. ์ํ ์ค์๋ ์ธํฐ๋ท์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์ํ์ฅ์ ์ธ์๋ฌผ ๋๋ ์ ์ ์์ ์ ๋ฐ์ ํ ์ ์์ต๋๋ค. ๋ฐ์ ๊ธ์ง ํญ๋ชฉ์๋ ๋ ธํธ, ์ฑ ๋๋ ๊ธฐํ ์๋ฃ๊ฐ ํฌํจ๋ฉ๋๋ค. AMQ ๋ฐ AMQ Streams, Kafka ๋ฐ Kafka Streams ๊ด๋ จ ๋ฌธ์๋ฅผ ์ํ ์ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ํ์ ์ต๋ 3์๊ฐ์ด ์์๋๋ 1๊ฐ ์น์ ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
๊ถ์ฅ๋๋ ๋ค์ ์ํ ๋๋ ๊ต์ก ๊ณผ์
Building Resilient Microservices with Red Hat OpenShift Service Mesh(DO328)
ํ์ฅ ๊ต์ก ์๋ด
ํ ์ ์ฒด๊ฐ ์๊ฐ์ ์ํ๋ ๊ฒฝ์ฐ ๊ต์ก์ฅ์์ ์ง์ ์๊ฐํ๊ฑฐ๋ ์๊ฒฉ์ผ๋ก ์ฐธ์ฌํ ์ ์์ต๋๋ค.
Red Hat ๊ต์ก ์๋ธ์คํฌ๋ฆฝ์
Red Hat ์ ํ์ ๋ํ ํตํฉ ๊ต์ก ๋ฐ ํ์ต ๊ฒฝ๋ก, ์ ๊ณ์์ ์ธ์ฆ๋ ์๊ฒฉ์ฆ, ์ ์ฐํ๊ณ ๋ค์ด๋๋ฏนํ IT ํ์ต ๊ฒฝํ.
๋ค๋ฅธ ์๊ฐ์๋ค์ด Red Hat Learning Community์ ๊ต์ก ๊ณผ์ ์ ๋ํด ์ด๋ป๊ฒ ํ๊ฐํ๋์ง ์ฝ์ด๋ณด์ธ์.