• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

ksqlDB Cluster 여부 - 박성범님 질문(제가 대신해서 적습니다)

24.01.06 18:45 작성 조회수 224

0

안녕하십니까,

박성범님이 수강평과 함께 질문을 올려 주셔서 제가 질문과 답변을 함께 적겠습니다.

먼저 질문 내용은 ksqlDB Cluster 구성 가능에 대한 질문입니다.

답변 1

답변을 작성해보세요.

0

ㅎㅎ, 질문과 답변을 셀프로 하려니 조금 쑥쓰럽군요.

ksqlDB는 Cluster 구성을 지원한다고 스펙 또는 공식 문서에 나와 있습니다.

하지만 이 Cluster 구성은 Kafka Cluster 와 같이 1/N 기반의 Workload 분산 아키텍처라기 보다는 Active-Standby 개념의 장애 복구 서버라고 보시면 될 것 같습니다.

보통 여러개의 ksqlDB instance는 서로 독립적으로 움직이게 되며 이를 일반적인 Cluster 구성이라고 볼수는 없습니다

근데 이 Active-Standby 구성 역시 제가 시도해 보려고 했으나, 문서나 구성 방법이 명확하지 않아서 성공하지 못했습니다. 문서는 아래와 같습니다.

https://www.confluent.io/blog/ksqldb-pull-queries-high-availability/?_ga=2.70749906.39664618.1704533924-1660999802.1671985067

https://groups.google.com/g/ksql-users/c/59_AGd2Ufjw?pli=1

감사합니다.

박성범님의 프로필

박성범

2024.01.07

좋은 답변 정말 감사합니다. 강사님

그런데 만약 kafka 한 토픽의 partition이 굉장히 많은 경우

분산처리 개념이 약한 ksqldb로 활용하려면

  1. 많은 수의 코어를 가진 컴퓨터를 안에서 ksqldb를 활용해 kafka의 큰토픽을 하부토픽으로 쪼갠다음 하부토픽 마다 따로 ksqldb를 사용해야 하는건가요 ?

  2. 아니면 kafak cluster만을 활용해 기존 토픽을 좀더 작은 토픽으로 나눈 이후 작은토픽에 ksqldb를 적용해야 하나요?

  3. 혹은 flink를 활용해서 분산처리를 하는게 나을지 ?

아니면 다른 더 좋은 대안이 있을까요?

음, 1, 2번 다 업무적으로 복잡하지 않을까 싶습니다.

대부분 분산까지 고려하지 않아도 KSQLDB 처리 성능이 나오지 않을까 싶습니다만...

정말 분산 처리까지 고려해야 할 정도로 현재 KSQLDB 성능이 안나오는지 부터 확인한 다음에 고민해도 늦지 않을 거 같습니다. 만약에 성능이 안나오면 고성능 SSD나 CPU Core를 수직 증설하는 방법이 더 낫지 않을까 싶습니다(물론 H/W 가격이 비싸지니까 당연히 초기 고려사항은 아니어서 질문을 하셨겠지만)

flink는 제가 잘 몰라서 ^^;; 패스 하도록 하겠습니다