강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

dbghksdn92님의 프로필 이미지
dbghksdn92

작성한 질문수

카카오 개발자와 함께하는 워크플로우 기반의 대용량 트래픽 처리 기법 [ By. 비전공자 & Kakao 개발자 ]

Application을 실행하며 MSA환경의 대표적인 EDA, CDC기반의 Architecture 실습하기

전체적인 플로우에 대해 질문드립니다.

해결된 질문

작성

·

10

0

이론 부분을 제가 이해를 잘 못해서 질문드리는 것 같은데요,

Kafka와 Debezium 까지의 전반적인 그림은 그려지는데

temporal(acitivity나 workFlow클래스 등) 까지 합쳐졌을 때의 플로우가 잘 이해가 가지 않는데

구상하신 아키텍처를 모두 합친 플로우가 궁금합니다!

답변 2

0

Hong님의 프로필 이미지
Hong
지식공유자

안녕하세요 dbghksdn92님 질문 남겨주셔서 감사합니다.

 

우선 Kafka와 Debezium과 Temporal을 별개로 생각하시면 좋습니다.

 

Kafka와 Debezium은 그냥 이벤트를 실시간으로 안전하게 받아서 처리하기 위한 용도로 이벤트만 잘 주어지면 되는것이고 그 이후에는 Temporal을 통해 비지니스 로직을 안전하게 처리한다로 이해하시면 됩니다.

 

즉 서로 하는 역할이 분리가 되어 있는겁니다.

Temporal을 통해서 우리가 일반적으로 작성하는 비지니스 로직에서 이슈가 될만한 부분

  • 순간적인 네트워크 이슈로 인한 재시도가 가장 일반적이겠죠

 

이런 부분들을 하나하나 핸들링 하지 않고 처리해야 하는 작업을 관리하는 툴로써 사용한다고 봐주시면 됩니다.

 

Kafka와 Debezium을 통해 안전하게 이벤트를 받고, 그 이벤트를 처리하는 과정을 하나의 작업으로 두고 해당 작업을 안전하게 처리할 떄 Temporal을 사용한다고 이해하시면 되지 않을까 싶어요.

 

추가적인 질문이 있다면 남겨주세요. 감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. dbghksdn92님.

강의 주제에 대해 깊이 있는 질문을 주셨군요. Kafka와 Debezium, 그리고 Temporal을 결합한 전체 아키텍처의 흐름을 이해하는 것은 중요하며, 특히 각 컴포넌트가 어떤 역할을 하는지 파악하는 것이 핵심입니다. 제가 도움을 드리기 위해 관련된 몇 가지 유사한 답변을 찾았습니다.

  1. Kafka와 Debezium의 역할:
    Kafka는 데이터를 수집하고 분산 처리하기 위한 메시지 브로커로, 대용량 데이터를 효율적으로 전송하고 처리할 수 있습니다. Debezium은 Kafka 위에서 작동하는 CDC(Change Data Capture) 도구로, 데이터베이스 내의 변경 사항을 실시간으로 Kafka에 전달합니다.

  2. Temporal의 사용:
    Temporal은 워크플로우 관리 시스템으로, 복잡한 비즈니스 로직을 안정적으로 자동 실행하는 데 사용됩니다. 여러 작업(Activity)이 포함된 복잡한 프로세스에서, 각 단계의 상태를 관리하고 장애 발생 시 자동으로 복구할 수 있는 장점을 제공합니다.

이러한 도구들이 통합된 아키텍처에서는 일반적으로 다음과 같은 흐름을 따릅니다:
- 데이터베이스 변경: Debezium이 데이터베이스에서의 변경 사항을 캡처합니다.
- Kafka로 전송: 캡처된 데이터는 Kafka로 전송되어 다른 서비스들이 구독하고 처리할 수 있습니다.
- Temporal 워크플로우 실행: Kafka에서 데이터를 수신한 후, Temporal의 워크플로우가 트리거되어 비즈니스 로직에 따라 여러 Activity(작업)를 실행합니다.

자세한 구현이나 실습이 필요하시다면, 강의 자료와 예제 코드를 참조하여 실습해보시기를 추천드립니다.

저는 질문자님의 이해를 돕고자 기존에 올라온 유사한 답변들을 확인해 관련된 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

dbghksdn92님의 프로필 이미지
dbghksdn92

작성한 질문수

질문하기