Spring Framework/โ๏ธ Spring Cloud
[Spring Cloud] ๋ฐ์ดํฐ ๋๊ธฐํ๋ฅผ ์ํ Apache Kafka ํ์ฉ
soogoori
2024. 1. 3. 11:26
Apache Kafka
๋ฐ์ดํฐ ๋๊ธฐํ Orders โ Catalogs
- Order Service์ ์์ฒญ๋ ์ฃผ๋ฌธ ์๋ ์ ๋ณด๋ฅผ Catalog Service์ ๋ฐ์
- Order Service์์ Kafka Topic์ผ๋ก ๋ฉ์์ง ์ ์ก โ Producer
- Catalog Service์์ Kafka Topic์ ์ ์ก๋ ๋ฉ์์ง ์ทจ๋ โ Consumer
Order-Service์ Catalog-Service์ Kafka ๊ธฐ๋ฅ ๊ตฌํ ์ถ๊ฐ
- ZooKeeperServer์ KafkaServer ๊ธฐ๋ + Eureka Server (discovery-service) ์คํ
- config-service, apigateway-service, order-service, catalog-service ์คํ
์๋ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ ์๋ฃ
Multiple Order Service์์์ ๋ฐ์ดํฐ ๋๊ธฐํ ๋ฌธ์ ๐ Kafka Connect๋ก ํด๊ฒฐ
๋ง์ฝ Order-Service๊ฐ 2๊ฐ ๊ธฐ๋๋์๋ค๋ฉด user์ ์์ฒญ์ ๋ถ์ฐ ์ฒ๋ฆฌํ๊ฒ ๋๋ค.
๊ทธ๋ฌ๋ฉด orders ๋ฐ์ดํฐ๋ ๋ถ์ฐ ์ ์ฅ๋์ด ๋๊ธฐํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
์ด ๋ฌธ์ ๋ฅผ Kafka Connect๋ฅผ ํ์ฉํ์ฌ ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋๋ก ๋ง๋ค์ด์ ํด๊ฒฐํ๋ฉด ๋๋ค.
order-service๋ฅผ ๊ฐ๊ฐ ์คํํ์ ๋ ๋ ๋ฆฝ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ฃผ๋ฌธํ ๋ด์ญ์ด ๋ถ์ฐ๋์ด ์ ์ฅ๋์๋ค.
๐ก ํด๊ฒฐ๋ฐฉ๋ฒ ์ ๋ฆฌ
๐ order-service์ ์์ฒญ๋ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ DB๊ฐ ์๋๋ผ Kafka Topic์ผ๋ก ์ ์กํ๋ค. โ Kafka Source Connect๊ฐ ์ ์ก
๐ Kafka Topic์ ์ค์ ๋ Kafka Sink Connect๋ฅผ ์ฌ์ฉํด ๋จ์ผ DB์ ์ ์ฅํด ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐํํ๋ค.
๐น order-service์์ ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ง๊ณ ์๋ ๋ด์ฉ ์ ๊ฑฐ โ order-service์ ์ ๋ฌ๋์๋ ๋ฉ์์ง ๊ฐ์ Message Queuing Server์ ์ ๋ฌ โ Sink Connect์ ์ํด ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๊ฐ์ RDB์ ๋ชฐ์ ๋ฃ๊ธฐ
H2 DB โ MariaDB๋ก ๋ณ๊ฒฝ
๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.