01.ApacheKafkaandConfluentReferenceArchitecture

Confluent Platform Reference Architecture

Large Cluster Reference Architecture

  • ์ด ์•„ํ‚คํ…์ฒ˜๋Š” ํ™•์žฅ์„ ๊ณ ๋ คํ•ด ์„ค๊ณ„

  • ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์ž์ฒด ์„œ๋ฒ„๋ฅผ ๊ธฐ๋ฐ˜ ์œผ๋กœ ๊ตฌ์„ฑ

  • ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Œ

  • ์˜ˆ๋กœ, Confluent REST Proxy๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ถ”๊ฐ€ํ•  ๋•Œ REST Proxy๋Š” ๋” ์ด์ƒ ํ•„์š”ํ•œ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ œ๊ณตํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฐ˜๋ฉด ๊ธฐ์กด Kafka Broker์—๋Š” ์—ฌ์ „ํžˆ ์—ฌ์œ  ์šฉ๋Ÿ‰์ด ์žˆ๋‹ค๋ฉด, ์ด ๊ฒฝ์šฐ REST Proxy ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ™•์žฅํ•˜๋ฉด ๋จ

  • ๊ถŒ๊ณ ๊ฐ’์ธ Zookeeper ์„œ๋ฒ„ 4๋Œ€ ์ด์ƒ ๋“ฑ ๊ฐ์ข… ๋…ธ๋“œ๋“ค์ด ์ด์ค‘ํ™”.

Small Cluster Reference Architecture

  • ๋Œ€๋ถ€๋ถ„ Kafka๋ฅผ ์ฒ˜์Œ ๋„์ž…ํ•˜๋Š” ์กฐ์ง์€ ๋ถ€ํ•˜๊ฐ€ ์ œํ•œ๋œ ํ•˜๋‚˜์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•ด Confluent Platform์„ ์ฑ„ํƒํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘

  • ์ด ์ฑ„ํƒ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ž…์ฆ๋˜๋ฉด ์กฐ์ง์€ ์ถ”๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํŒ€์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ™•์žฅ

  • ์ผ๋ฐ˜์ ์œผ๋กœ ์ดˆ๊ธฐ ๋„์ž… ํ”„๋กœ์ ํŠธ์˜ ์„ฑ๊ณต์„ ์œ„ํ•ด ์ „์ฒด ๋ฐฐํฌ์— ๋Œ€ํ•œ ํˆฌ์ž๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ Confluent Platform ์ฑ„ํƒ์˜ ์ดˆ๊ธฐ ๋‹จ๊ณ„์— ์ด ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ถŒ์žฅ

  • ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ๋” ์ ์€ ์ˆ˜์˜ ์„œ๋ฒ„๋กœ ์‹œ์ž‘ํ•˜๊ณ  ์„œ๋ฒ„๋‹น ์—ฌ๋Ÿฌ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ

  • Confluent Control Center ๋ฐ Confluent ksqlDB์™€ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค ์ง‘์•ฝ์  ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•ด์„œ๋Š” ์ „์šฉ ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ

Hardware Recommendations for On-Premises Deployment

HA(High Availability) ๋ž€? HA(High Availability)๋Š” 2๊ฐœ์˜ ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•˜๋‚˜๋Š” Active, ๋‚˜๋จธ์ง€ํ•˜๋‚˜๋Š” Standby ์ƒํƒœ๋กœ ์ •ํ•ด๋†“๋Š”๋‹ค. Active์ƒํƒœ์˜ ์„œ๋ฒ„๊ฐ€ ๋ชจ๋“  ๋ถ€ํ•˜๋ฅผ ๋‹ด๋‹นํ•˜๋ฉฐ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ Standby ์„œ๋ฒ„๊ฐ€ Active๊ฐ€ ๋˜๋ฉด์„œ ๋‹ค์‹œ ์„œ๋น„์Šค๋ฅผ ์ •์ƒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ตฌ์„ฑ HA์†”๋ฃจ์…˜์ด ๊ฐ–์ถ”์–ด์•ผ ํ•  ๊ธฐ๋ณธ๊ธฐ๋Šฅ

  • ๋ฐ์ดํ„ฐ ๋ณต์ œ

  • ์žฅ์•  ๊ฐ์‹œ๊ธฐ๋Šฅ

Large Cluster

  • SSD ์‚ฌ์šฉ ๊ถŒ์žฅ

  • Connect์˜ CPU ๊ถŒ์žฅ์€ Connector Worker Node ์— ํ•œํ•จ. Connector์˜ ๋™์ž‘์€ CPU์˜ ์†Œ๋ชจ๊ฐ€ ํด ์ˆ˜ ์žˆ๋‹ค.

  • HA๋ฅผ ์œ„ํ•œ ๋…ธ๋“œ ๊ฐœ์ˆ˜(์ตœ์†Œ 2)

Small Cluster

  • 2ํ–‰ memory : OS ์˜์—ญ 1GB ์‚ฌ์šฉ๋Ÿ‰์— ๋”ฐ๋ฅธ + ฮฑ

Public Cloud Deployment

AWS, MS Azure, Google Cloud Platform

  • Core : Cloud Provider๋Š” ์‹œ์Šคํ…œ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•  ๋•Œ "๊ฐ€์ƒ" Core๋ฅผ ์‚ฌ์šฉ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ตœ์‹  Core๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋‚ฎ์„ ์ˆ˜ ์žˆ์Œ

  • Network : ๋Œ€๋ถ€๋ถ„์˜ Cloud Provider๋Š” ์ตœ์ƒ์œ„ ๊ณ„์ธต ๋…ธ๋“œ์—์„œ๋งŒ 10GbE๋ฅผ ์ œ๊ณต ๋ณต์ œ ํŠธ๋ž˜ํ”ฝ์„ ๊ณ ๋ คํ•œ ํ•„์š” ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ œ๊ณตํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•œ ๋„คํŠธ์›Œํฌ ์šฉ๋Ÿ‰ ํ™•์ธ

  • On-Premises ํ™˜๊ฒฝ์—์„œ ์„ค์น˜์‹œ HW ์‚ฌ์–‘์„ Public Cloud ํ™˜๊ฒฝ์—์„œ๋„ ๊ถŒ์žฅ

  • ์‚ฌ์šฉ๋Ÿ‰์— ๋”ฐ๋ผ ์œ ๋™์ ์œผ๋กœ sizing ํ•ด์•ผํ•œ๋‹ค.

์˜จํ”„๋ ˆ๋ฏธ์Šค(On-Premises) ์†Œํ”„ํŠธ์›จ์–ด ๋“ฑ ์†”๋ฃจ์…˜์„ ํด๋ผ์šฐ๋“œ ๊ฐ™์ด ์›๊ฒฉ ํ™˜๊ฒฝ์ด ์•„๋‹Œ ์ž์ฒด์ ์œผ๋กœ ๋ณด์œ ํ•œ ์ „์‚ฐ์‹ค ์„œ๋ฒ„์— ์ง์ ‘ ์„ค์น˜ํ•ด ์šด์˜ํ•˜๋Š” ๋ฐฉ์‹ ์˜คํ”„ํ”„๋ ˆ๋ฏธ์Šค(Off-premises) ์˜คํ”„ํ”„๋ ˆ๋ฏธ์Šค๋ž€ ์ผ๋ฐ˜์ ์œผ๋กœ SaaS ๋˜๋Š” ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์ด๋ผ๊ณ  ํ•œ๋‹ค. ์˜จํ”„๋ ˆ๋ฏธ์Šค์˜ ๋ฐ˜๋Œ€๋กœ ์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋œ ์„œ๋ฒ„ํŒœ์ด๋‚˜ ํด๋ผ์šฐ๋“œ์˜ ์›๊ฒฉ ์‹คํ–‰ํ™˜๊ฒฝ์„ ์˜๋ฏธ

AWS EC2

  • EBS: SSD ๊ธฐ๋ฐ˜์˜ storage

  • ์˜จํ”„๋ ˆ๋ฏธ์Šค์˜ Broker, CPU Dual 12-core sockets(24core) ์™€ ๋‹ค๋ฅธ๊ฒƒ์€ ์œ„์˜ ๋ช…์„ธ๊ฐ€ ์ตœ์†Œ ์‚ฌ์–‘์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

Google Cloud Compute Engine

Eventsizer

Kafka Sizing์„ ์œ„ํ•œ ๋„๊ตฌ

Sizing Calculator for Apache Kafka and Confluent Platform

Last updated