Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kafka 사용 인프라 아키텍쳐 #118

Open
yeomko22 opened this issue Sep 20, 2021 · 1 comment
Open

kafka 사용 인프라 아키텍쳐 #118

yeomko22 opened this issue Sep 20, 2021 · 1 comment

Comments

@yeomko22
Copy link
Owner

yeomko22 commented Sep 20, 2021

예시 데이터 파이프라인

20

  • 보통 프런트엔드에서 사용자 이벤트를 받으면 이를 스프링 기반의 API 서버를 찌른다. 이게 프로듀서가 된다.
  • 프로듀서 앱은 카프카 클러스터에 데이터를 적재한다.
  • 이를 컨슈머 단에서 전달 받아서 하둡에 적재한다.
  • 카프카 커넥트를 이용해서 엘라스틱 서치에 적재하고, 키바나로 시각화 하기도 한다.

스케일 아웃

  • 웹 이벤트가 늘어날 경우에는 먼저 프로듀스 앱 스케일 아웃을 적용한다.
  • 그 다음 카프카 파티션 수를 늘려준다.
  • 파티션 수를늘려주면 이에 따라 컨슈머 앱의 스레드 개수를 늘려주어야 한다.
  • 카프카 커넥트의 경우에는 테스크 개수를 늘려주면 된다.
@yeomko22
Copy link
Owner Author

카프카 스트림즈 활용

21

  • 스트림즈는 컨슈머와 프로듀서의 역할을 동시에 수행한다.
  • 서버지표들을 실시간으로 수집해서 카프카 스트림즈를 이용해 변환한 다음 이를 DB에 저장한다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant