본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB


I. 학습 인증샷 4장 이상 포함

1. 공부시작: 날짜, 시각 다 나오도록

공부 시작

2. 공부 종료: 날짜 시각 다 나오도록

공부 종료

3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장

ch4-3

 

4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)


II. 학습 후기 700자 이상 (공백 제외)

토픽을 생성하는 학습이다.
기존과 다른 점은 일단 지금까지 토픽의 생성은 카프카의 프로듀스와 컨슘을 이해하기 위한 실습의 토픽 생성이었다면,
이번의 토픽 생성은 스프링 프로젝트에 연결하기 위한 프로젝트의 토픽 생성이란 부분이다.
또한 지금까지 kafka CLI를 통해 만들었던 것과 달리
이번 주에 배웠던 카프카 ui를 이용한 토픽을 생성하는 부분이 다른 부분이 되겠다.

cli를 통한 것돠 매우 다른 경험이다.

스프링 어플리케이션 레벨에서 해당 토픽이 없으면 자동으로 생성하고, 있으면 자동으로 생성하게 끔 할 수가 있다.

해당 기능을 쓰지 않는 이유 
- 위의 기능으로 토픽을 암시적으로 만들지 않고 명시적으로 토픽을 생성하는 방법의 중요성을 강의에서 가르키는 것 같다

  • 파티션 수 조절
  • 설정 값 원하는 대로 조정
  • 더 안정적인 운영 가능

토픽생성 미리 정해줄 수 있는 옵션들을 보면서 운영에 따라 각각 설정을 다르게 줄 수 있다.

설정값

  • Number of Partitions(필수값): 3
    • 현재 실습 환경의 broker가 3개이다.
    • 따라서 파티션 수를 3으로 정하면 각각의 broker에 하나씩 리더 파티션이 할당 되게 된다.
    • 현재 실습 환경에서 적합한 값
    • 운영환경이라면 안정된 운영이 가능할 것이다.
  • Replication Factor: 2
    • 장애상황에서도 데이터를 안전하게 보호하기 위한 최소한의 복제 파티션을 유지하기 위한 상황
    • 카프카 다루는게 미숙해서 단순하게 이용하는 것이 더 중요한 경우 1로 두는 것을 강사님은 권장하심
    • 그래도 최대한 똑같이 해야지 않나 싶어서 난 2로 했다.
  • Time to retain data : 7 day
    • 로그를 연동해서 사용하는 케이스의 경우 데이터가 엄청 많을 수 있기 때문에
      해당 케이스의 경우 12시간이나 하루로 설정을 해야 한다.
    • 실습 환경에서는 7일로 설정한 것으로 보아 일반적으로는 7일로 설정하는 것이 무방할지도

 

처음 프로젝트 실행

여기서 엄청 애먹었는데... 아무리봐도 실습이 안되는데...
내가 완성된 예제 branch를 보고 있었다..아오
처음엔 1-run-project라는 branch로 보면 hello world만 찍히는 처음 세팅만 된 환경을 볼 수 있다.

hello 뿐이지만 swagger-ui가 붙어있는 실습 환경이라 학습하기 좋은 실습 환경이 구성되어 있다.

 

블로그 이미지

감동맨

rkaehdaos의 블로그

,

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB


I. 학습 인증샷 4장 이상 포함

1. 공부시작: 날짜, 시각 다 나오도록

공부 시작

2. 공부 종료: 날짜 시각 다 나오도록

공부 종료

3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장

ch4-2

 

4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)


II. 학습 후기 700자 이상 (공백 제외)

토픽을 생성하는 학습이다.
기존과 다른 점은 일단 지금까지 토픽의 생성은 카프카의 프로듀스와 컨슘을 이해하기 위한 실습의 토픽 생성이었다면,
이번의 토픽 생성은 스프링 프로젝트에 연결하기 위한 프로젝트의 토픽 생성이란 부분이다.
또한 지금까지 kafka CLI를 통해 만들었던 것과 달리
이번 주에 배웠던 카프카 ui를 이용한 토픽을 생성하는 부분이 다른 부분이 되겠다.

cli를 통한 것돠 매우 다른 경험이다.

스프링 어플리케이션 레벨에서 해당 토픽이 없으면 자동으로 생성하고, 있으면 자동으로 생성하게 끔 할 수가 있다.

해당 기능을 쓰지 않는 이유 
- 위의 기능으로 토픽을 암시적으로 만들지 않고 명시적으로 토픽을 생성하는 방법의 중요성을 강의에서 가르키는 것 같다

  • 파티션 수 조절
  • 설정 값 원하는 대로 조정
  • 더 안정적인 운영 가능

토픽생성 미리 정해줄 수 있는 옵션들을 보면서 운영에 따라 각각 설정을 다르게 줄 수 있다.

설정값

  • Number of Partitions(필수값): 3
    • 현재 실습 환경의 broker가 3개이다.
    • 따라서 파티션 수를 3으로 정하면 각각의 broker에 하나씩 리더 파티션이 할당 되게 된다.
    • 현재 실습 환경에서 적합한 값
    • 운영환경이라면 안정된 운영이 가능할 것이다.
  • Replication Factor: 2
    • 장애상황에서도 데이터를 안전하게 보호하기 위한 최소한의 복제 파티션을 유지하기 위한 상황
    • 카프카 다루는게 미숙해서 단순하게 이용하는 것이 더 중요한 경우 1로 두는 것을 강사님은 권장하심
    • 그래도 최대한 똑같이 해야지 않나 싶어서 난 2로 했다.
  • Time to retain data : 7 day
    • 로그를 연동해서 사용하는 케이스의 경우 데이터가 엄청 많을 수 있기 때문에
      해당 케이스의 경우 12시간이나 하루로 설정을 해야 한다.
    • 실습 환경에서는 7일로 설정한 것으로 보아 일반적으로는 7일로 설정하는 것이 무방할지도

 

처음 프로젝트 실행

여기서 엄청 애먹었는데... 아무리봐도 실습이 안되는데...
내가 완성된 예제 branch를 보고 있었다..아오
처음엔 1-run-project라는 branch로 보면 hello world만 찍히는 처음 세팅만 된 환경을 볼 수 있다.

hello 뿐이지만 swagger-ui가 붙어있는 실습 환경이라 학습하기 좋은 실습 환경이 구성되어 있다.



블로그 이미지

감동맨

rkaehdaos의 블로그

,

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB


I. 학습 인증샷 4장 이상 포함

1. 공부시작: 날짜, 시각 다 나오도록

공부 시작

2. 공부 종료: 날짜 시각 다 나오도록

공부 종료

3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장

챕터 4 첫시작.

 

4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)


II. 학습 후기 700자 이상 (공백 제외)

토픽을 생성하는 학습이다.
기존과 다른 점은 일단 지금까지 토픽의 생성은 카프카의 프로듀스와 컨슘을 이해하기 위한 실습의 토픽 생성이었다면,
이번의 토픽 생성은 스프링 프로젝트에 연결하기 위한 프로젝트의 토픽 생성이란 부분이다.
또한 지금까지 kafka CLI를 통해 만들었던 것과 달리
이번 주에 배웠던 카프카 ui를 이용한 토픽을 생성하는 부분이 다른 부분이 되겠다.

cli를 통한 것돠 매우 다른 경험이다.

스프링 어플리케이션 레벨에서 해당 토픽이 없으면 자동으로 생성하고, 있으면 자동으로 생성하게 끔 할 수가 있다.

해당 기능을 쓰지 않는 이유 
- 위의 기능으로 토픽을 암시적으로 만들지 않고 명시적으로 토픽을 생성하는 방법의 중요성을 강의에서 가르키는 것 같다

  • 파티션 수 조절
  • 설정 값 원하는 대로 조정
  • 더 안정적인 운영 가능

토픽생성 미리 정해줄 수 있는 옵션들을 보면서 운영에 따라 각각 설정을 다르게 줄 수 있다.

설정값

  • Number of Partitions(필수값): 3
    • 현재 실습 환경의 broker가 3개이다.
    • 따라서 파티션 수를 3으로 정하면 각각의 broker에 하나씩 리더 파티션이 할당 되게 된다.
    • 현재 실습 환경에서 적합한 값
    • 운영환경이라면 안정된 운영이 가능할 것이다.
  • Replication Factor: 2
    • 장애상황에서도 데이터를 안전하게 보호하기 위한 최소한의 복제 파티션을 유지하기 위한 상황
    • 카프카 다루는게 미숙해서 단순하게 이용하는 것이 더 중요한 경우 1로 두는 것을 강사님은 권장하심
    • 그래도 최대한 똑같이 해야지 않나 싶어서 난 2로 했다.
  • Time to retain data : 7 day
    • 로그를 연동해서 사용하는 케이스의 경우 데이터가 엄청 많을 수 있기 때문에
      해당 케이스의 경우 12시간이나 하루로 설정을 해야 한다.
    • 실습 환경에서는 7일로 설정한 것으로 보아 일반적으로는 7일로 설정하는 것이 무방할지도

 

처음 프로젝트 실행

여기서 엄청 애먹었는데... 아무리봐도 실습이 안되는데...
내가 완성된 예제 branch를 보고 있었다..아오
처음엔 1-run-project라는 branch로 보면 hello world만 찍히는 처음 세팅만 된 환경을 볼 수 있다.

hello 뿐이지만 swagger-ui가 붙어있는 실습 환경이라 학습하기 좋은 실습 환경이 구성되어 있다.

 

블로그 이미지

감동맨

rkaehdaos의 블로그

,

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB


I. 학습 인증샷 4장 이상 포함

1. 공부시작: 날짜, 시각 다 나오도록

공부 시작

2. 공부 종료: 날짜 시각 다 나오도록

공부 종료

3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장

3부작 마지막 시간

 

4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)


II. 학습 후기 700자 이상 (공백 제외)

토픽을 생성하는 학습이다.
기존과 다른 점은 일단 지금까지 토픽의 생성은 카프카의 프로듀스와 컨슘을 이해하기 위한 실습의 토픽 생성이었다면,
이번의 토픽 생성은 스프링 프로젝트에 연결하기 위한 프로젝트의 토픽 생성이란 부분이다.
또한 지금까지 kafka CLI를 통해 만들었던 것과 달리
이번 주에 배웠던 카프카 ui를 이용한 토픽을 생성하는 부분이 다른 부분이 되겠다.

cli를 통한 것돠 매우 다른 경험이다.

스프링 어플리케이션 레벨에서 해당 토픽이 없으면 자동으로 생성하고, 있으면 자동으로 생성하게 끔 할 수가 있다.

해당 기능을 쓰지 않는 이유 
- 위의 기능으로 토픽을 암시적으로 만들지 않고 명시적으로 토픽을 생성하는 방법의 중요성을 강의에서 가르키는 것 같다

  • 파티션 수 조절
  • 설정 값 원하는 대로 조정
  • 더 안정적인 운영 가능

토픽생성 미리 정해줄 수 있는 옵션들을 보면서 운영에 따라 각각 설정을 다르게 줄 수 있다.

설정값

  • Number of Partitions(필수값): 3
    • 현재 실습 환경의 broker가 3개이다.
    • 따라서 파티션 수를 3으로 정하면 각각의 broker에 하나씩 리더 파티션이 할당 되게 된다.
    • 현재 실습 환경에서 적합한 값
    • 운영환경이라면 안정된 운영이 가능할 것이다.
  • Replication Factor: 2
    • 장애상황에서도 데이터를 안전하게 보호하기 위한 최소한의 복제 파티션을 유지하기 위한 상황
    • 카프카 다루는게 미숙해서 단순하게 이용하는 것이 더 중요한 경우 1로 두는 것을 강사님은 권장하심
    • 그래도 최대한 똑같이 해야지 않나 싶어서 난 2로 했다.
  • Time to retain data : 7 day
    • 로그를 연동해서 사용하는 케이스의 경우 데이터가 엄청 많을 수 있기 때문에
      해당 케이스의 경우 12시간이나 하루로 설정을 해야 한다.
    • 실습 환경에서는 7일로 설정한 것으로 보아 일반적으로는 7일로 설정하는 것이 무방할지도

 

처음 프로젝트 실행

여기서 엄청 애먹었는데... 아무리봐도 실습이 안되는데...
내가 완성된 예제 branch를 보고 있었다..아오
처음엔 1-run-project라는 branch로 보면 hello world만 찍히는 처음 세팅만 된 환경을 볼 수 있다.

hello 뿐이지만 swagger-ui가 붙어있는 실습 환경이라 학습하기 좋은 실습 환경이 구성되어 있다.



블로그 이미지

감동맨

rkaehdaos의 블로그

,

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB


I. 학습 인증샷 4장 이상 포함

1. 공부시작: 날짜, 시각 다 나오도록

공부 시작

2. 공부 종료: 날짜 시각 다 나오도록

공부 종료

3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장

3부작중 2번째 시간

 

4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)


II. 학습 후기 700자 이상 (공백 제외)

토픽을 생성하는 학습이다.
기존과 다른 점은 일단 지금까지 토픽의 생성은 카프카의 프로듀스와 컨슘을 이해하기 위한 실습의 토픽 생성이었다면,
이번의 토픽 생성은 스프링 프로젝트에 연결하기 위한 프로젝트의 토픽 생성이란 부분이다.
또한 지금까지 kafka CLI를 통해 만들었던 것과 달리
이번 주에 배웠던 카프카 ui를 이용한 토픽을 생성하는 부분이 다른 부분이 되겠다.

cli를 통한 것돠 매우 다른 경험이다.

스프링 어플리케이션 레벨에서 해당 토픽이 없으면 자동으로 생성하고, 있으면 자동으로 생성하게 끔 할 수가 있다.

해당 기능을 쓰지 않는 이유 
- 위의 기능으로 토픽을 암시적으로 만들지 않고 명시적으로 토픽을 생성하는 방법의 중요성을 강의에서 가르키는 것 같다

  • 파티션 수 조절
  • 설정 값 원하는 대로 조정
  • 더 안정적인 운영 가능

토픽생성 미리 정해줄 수 있는 옵션들을 보면서 운영에 따라 각각 설정을 다르게 줄 수 있다.

설정값

  • Number of Partitions(필수값): 3
    • 현재 실습 환경의 broker가 3개이다.
    • 따라서 파티션 수를 3으로 정하면 각각의 broker에 하나씩 리더 파티션이 할당 되게 된다.
    • 현재 실습 환경에서 적합한 값
    • 운영환경이라면 안정된 운영이 가능할 것이다.
  • Replication Factor: 2
    • 장애상황에서도 데이터를 안전하게 보호하기 위한 최소한의 복제 파티션을 유지하기 위한 상황
    • 카프카 다루는게 미숙해서 단순하게 이용하는 것이 더 중요한 경우 1로 두는 것을 강사님은 권장하심
    • 그래도 최대한 똑같이 해야지 않나 싶어서 난 2로 했다.
  • Time to retain data : 7 day
    • 로그를 연동해서 사용하는 케이스의 경우 데이터가 엄청 많을 수 있기 때문에
      해당 케이스의 경우 12시간이나 하루로 설정을 해야 한다.
    • 실습 환경에서는 7일로 설정한 것으로 보아 일반적으로는 7일로 설정하는 것이 무방할지도

 

처음 프로젝트 실행

여기서 엄청 애먹었는데... 아무리봐도 실습이 안되는데...
내가 완성된 예제 branch를 보고 있었다..아오
처음엔 1-run-project라는 branch로 보면 hello world만 찍히는 처음 세팅만 된 환경을 볼 수 있다.

hello 뿐이지만 swagger-ui가 붙어있는 실습 환경이라 학습하기 좋은 실습 환경이 구성되어 있다.

 

블로그 이미지

감동맨

rkaehdaos의 블로그

,

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB


I. 학습 인증샷 4장 이상 포함

1. 공부시작: 날짜, 시각 다 나오도록

공부 시작

2. 공부 종료: 날짜 시각 다 나오도록

공부 종료

3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장

어제 설정한 Spring cloud stream에서 produce, consume을 해보는 것 같다. 이 시리즈가 총 3개로 되어 있어서 어려울까봐 걱정이 된다.

 

4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)


II. 학습 후기 700자 이상 (공백 제외)

토픽을 생성하는 학습이다.
기존과 다른 점은 일단 지금까지 토픽의 생성은 카프카의 프로듀스와 컨슘을 이해하기 위한 실습의 토픽 생성이었다면,
이번의 토픽 생성은 스프링 프로젝트에 연결하기 위한 프로젝트의 토픽 생성이란 부분이다.
또한 지금까지 kafka CLI를 통해 만들었던 것과 달리
이번 주에 배웠던 카프카 ui를 이용한 토픽을 생성하는 부분이 다른 부분이 되겠다.

cli를 통한 것돠 매우 다른 경험이다.

스프링 어플리케이션 레벨에서 해당 토픽이 없으면 자동으로 생성하고, 있으면 자동으로 생성하게 끔 할 수가 있다.

해당 기능을 쓰지 않는 이유 
- 위의 기능으로 토픽을 암시적으로 만들지 않고 명시적으로 토픽을 생성하는 방법의 중요성을 강의에서 가르키는 것 같다

  • 파티션 수 조절
  • 설정 값 원하는 대로 조정
  • 더 안정적인 운영 가능

토픽생성 미리 정해줄 수 있는 옵션들을 보면서 운영에 따라 각각 설정을 다르게 줄 수 있다.

설정값

  • Number of Partitions(필수값): 3
    • 현재 실습 환경의 broker가 3개이다.
    • 따라서 파티션 수를 3으로 정하면 각각의 broker에 하나씩 리더 파티션이 할당 되게 된다.
    • 현재 실습 환경에서 적합한 값
    • 운영환경이라면 안정된 운영이 가능할 것이다.
  • Replication Factor: 2
    • 장애상황에서도 데이터를 안전하게 보호하기 위한 최소한의 복제 파티션을 유지하기 위한 상황
    • 카프카 다루는게 미숙해서 단순하게 이용하는 것이 더 중요한 경우 1로 두는 것을 강사님은 권장하심
    • 그래도 최대한 똑같이 해야지 않나 싶어서 난 2로 했다.
  • Time to retain data : 7 day
    • 로그를 연동해서 사용하는 케이스의 경우 데이터가 엄청 많을 수 있기 때문에
      해당 케이스의 경우 12시간이나 하루로 설정을 해야 한다.
    • 실습 환경에서는 7일로 설정한 것으로 보아 일반적으로는 7일로 설정하는 것이 무방할지도

 

처음 프로젝트 실행

여기서 엄청 애먹었는데... 아무리봐도 실습이 안되는데...
내가 완성된 예제 branch를 보고 있었다..아오
처음엔 1-run-project라는 branch로 보면 hello world만 찍히는 처음 세팅만 된 환경을 볼 수 있다.

hello 뿐이지만 swagger-ui가 붙어있는 실습 환경이라 학습하기 좋은 실습 환경이 구성되어 있다.

 

블로그 이미지

감동맨

rkaehdaos의 블로그

,

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB
 


I. 학습 인증샷 4장 이상 포함

1. 공부시작: 날짜, 시각 다 나오도록

공부 시작

2. 공부 종료: 날짜 시각 다 나오도록

공부 종료

3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장

강의 클립:Spring Cloud Stream

4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)


II. 학습 후기 700자 이상 (공백 제외)

토픽을 생성하는 학습이다.
기존과 다른 점은 일단 지금까지 토픽의 생성은 카프카의 프로듀스와 컨슘을 이해하기 위한 실습의 토픽 생성이었다면,
이번의 토픽 생성은 스프링 프로젝트에 연결하기 위한 프로젝트의 토픽 생성이란 부분이다.
또한 지금까지 kafka CLI를 통해 만들었던 것과 달리
이번 주에 배웠던 카프카 ui를 이용한 토픽을 생성하는 부분이 다른 부분이 되겠다.

cli를 통한 것돠 매우 다른 경험이다.

스프링 어플리케이션 레벨에서 해당 토픽이 없으면 자동으로 생성하고, 있으면 자동으로 생성하게 끔 할 수가 있다.

해당 기능을 쓰지 않는 이유 
- 위의 기능으로 토픽을 암시적으로 만들지 않고 명시적으로 토픽을 생성하는 방법의 중요성을 강의에서 가르키는 것 같다

  • 파티션 수 조절
  • 설정 값 원하는 대로 조정
  • 더 안정적인 운영 가능

토픽생성 미리 정해줄 수 있는 옵션들을 보면서 운영에 따라 각각 설정을 다르게 줄 수 있다.

설정값

  • Number of Partitions(필수값): 3
    • 현재 실습 환경의 broker가 3개이다.
    • 따라서 파티션 수를 3으로 정하면 각각의 broker에 하나씩 리더 파티션이 할당 되게 된다.
    • 현재 실습 환경에서 적합한 값
    • 운영환경이라면 안정된 운영이 가능할 것이다.
  • Replication Factor: 2
    • 장애상황에서도 데이터를 안전하게 보호하기 위한 최소한의 복제 파티션을 유지하기 위한 상황
    • 카프카 다루는게 미숙해서 단순하게 이용하는 것이 더 중요한 경우 1로 두는 것을 강사님은 권장하심
    • 그래도 최대한 똑같이 해야지 않나 싶어서 난 2로 했다.
  • Time to retain data : 7 day
    • 로그를 연동해서 사용하는 케이스의 경우 데이터가 엄청 많을 수 있기 때문에
      해당 케이스의 경우 12시간이나 하루로 설정을 해야 한다.
    • 실습 환경에서는 7일로 설정한 것으로 보아 일반적으로는 7일로 설정하는 것이 무방할지도

 

처음 프로젝트 실행

여기서 엄청 애먹었는데... 아무리봐도 실습이 안되는데...
내가 완성된 예제 branch를 보고 있었다..아오
처음엔 1-run-project라는 branch로 보면 hello world만 찍히는 처음 세팅만 된 환경을 볼 수 있다.

hello 뿐이지만 swagger-ui가 붙어있는 실습 환경이라 학습하기 좋은 실습 환경이 구성되어 있다.



블로그 이미지

감동맨

rkaehdaos의 블로그

,

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB

 


I. 학습 인증샷 4장 이상 포함

1. 공부시작: 날짜, 시각 다 나오도록

공부 시작

2. 공부 종료: 날짜 시각 다 나오도록

공부 종료

3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장

이전의 토픽 생성이 카프카 실습이었다면, 이제는 스프링 프로젝트를 위한 카프카 토픽 생성이다.

4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)

카프카ui를 통한 토픽만들기, 강사님이 설정해둔 컨테이너로 접속해서 만든다. ..위의 날짜는 카프카 프로젝트의 github commit 날짜다.


II. 학습 후기 700자 이상 (공백 제외)

토픽을 생성하는 학습이다. 지금까지 실습해서 늘 해왔던..


기존과 다른 점은
일단 지금까지 토픽의 생성은 카프카의 프로듀스와 컨슘을 이해하기 위한 실습의 토픽 생성이었다면,
이번의 토픽 생성은 스프링 프로젝트에 연결하기 위한 프로젝트의 토픽 생성이란 부분이다.

또한 지금까지 kafka CLI를 통해 만들었던 것과 달리
이번 주에 배웠던 카프카 ui를 이용한 토픽을 생성하는 부분이
다른 부분이 되겠다.

cli를 통한 것돠 매우 다른 경험이다.

스프링 어플리케이션 레벨에서 해당 토픽이 없으면 자동으로 생성하고,
있으면 자동으로 생성하게 끔 할 수가 있다. 강사님은 해당 부분을 끄라고 하신다.

해당 기능을 쓰지 않는 이유
- 위의 기능으로 토픽을 암시적으로 만들지 않고 명시적으로 토픽을 생성하는 방법의 중요성을 강의에서 가르키는 것 같다

  • 파티션 수 조절
  • 설정 값 원하는 대로 조정
  • 더 안정적인 운영 가능

토픽생성 미리 정해줄 수 있는 옵션들을 보면서 운영에 따라 각각 설정을 다르게 줄 수 있다.

설정값

  • Number of Partitions(필수값): 3
    • 현재 실습 환경의 broker가 3개이다.
    • 따라서 파티션 수를 3으로 정하면 각각의 broker에 하나씩 리더 파티션이 할당 되게 된다.
    • 현재 실습 환경에서 적합한 값
    • 운영환경이라면 안정된 운영이 가능할 것이다.
  • Replication Factor: 2
    • 장애상황에서도 데이터를 안전하게 보호하기 위한 최소한의 복제 파티션을 유지하기 위한 상황
    • 카프카 다루는게 미숙해서 단순하게 이용하는 것이 더 중요한 경우 1로 두는 것을 강사님은 권장하심
    • 그래도 최대한 똑같이 해야지 않나 싶어서 난 2로 했다. 
    • 하다가 안되면 1로 바꾸던가 할 순 있겠지만 시작부터 1로 하는 것은... 아닌 것 같다.
  • Time to retain data : 7 day
    • 로그를 연동해서 사용하는 케이스의 경우 데이터가 엄청 많을 수 있기 때문에
      해당 케이스의 경우 12시간이나 하루로 설정을 해야 한다.
    • 실습 환경에서는 7일로 설정한 것으로 보아
      일반적으로는 7일로 설정하는 것이 무방할지도
    • 실제 운영에서는 데이터 쌓이는 속도와 디스크 용량을 보면서 조절을 해야 하는 듯 싶다.

 

처음 프로젝트 실행

여기서 엄청 애먹었는데... ㅠㅠ
아무리봐도 실습이 안되는데...
내가 완성된 예제 branch를 보고 있었다..아오
처음엔 1-run-project라는 branch로 보면 hello world만 찍히는 처음 세팅만 된 환경을 볼 수 있다.
강사님이 너무 친절하게 다 환경을 만들어 놓으셨네..

hello 뿐이지만 swagger-ui가 붙어있는 실습 환경이라 학습하기 좋은 실습 환경이 구성되어 있다.

토픽을 만들고 이제 저 보일러 플레이트에서 개발을 시작하는 듯 하다.

블로그 이미지

감동맨

rkaehdaos의 블로그

,

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB

 


I. 학습 인증샷 4장 이상 포함

1. 공부시작: 날짜, 시각 다 나오도록

공부 시작

2. 공부 종료: 날짜 시각 다 나오도록

공부 종료

 

 

3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장

실습인 파트2에서 드디어 스프링 프로젝트 등장

4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)


II. 학습 후기 700자 이상 (공백 제외)

실습파트2에서  드디어 실제 프로젝트를 소개하는 ch3이 시작되는 순간이다.
나는 지금까지 카프카는 `kafka-clients`를 무조건 사용해야 하는지 알고 있었다.

강의에서 내가 몰랐던 2가지를 소개하고 있다.

스프링 부트에서 카프카를 사용하기 위해서는?

  • 내가 사용한 것처럼 `kafka-clients`를 사용하는 경우는
    • Spring의 의존성이 불필요한 경우
    • Spring 버전이 너무 낮아서 Spring kafka 사용이 불가능한 경우
  • 보통은 Spring-kafka나 spring-cloud-stream을 많이 사용한다고 한다

Spring- kafka와 spring-cloud stream의 차이(느낌)

Spring- kafka의 느낌

동일한 Config를 사용하다가 별도의 분리나 설정이 필요하게 된다면???
별도의 컨피규레이션 클래스를 하나 만듬

  • 기본적으로 하나를 만들어서 설정을 재활용 하는 방법 , 필요하면 하나 더 만들기 -> spring cloud의 느낌

 

Spring- cloud-stream 의 느낌

  • 하나의 커다란 Configuration
  • 설정과 비즈니스로직이 완전 분리
  • 하나의 Config에 세분화된 설정을 사용 가능
  • 공통화된 영역도 존재
  •  

그럼 언제 어떻게 사용해야 하나?

  • 라고 gpt에게 물어봄

 

Spring-Kafka

  • 장점
    • Kafka의 고급 기능(예: Kafka Streams, 트랜잭션)을 직접 사용 가능
    • 메시지 송수신을 세밀하게 제어 가능
    • @KafkaListener와 같은 어노테이션을 통해 간단하게 메시지 소비자 생성 가능
    • 실시간 데이터 처리 및 복잡한 데이터 변환 작업에 적합.
  • 단점
    • Kafka에 특화되어 있어 다른 메시징 시스템과의 통합이 어려움.
  • 적합한 상황
    • Apache Kafka만 사용하는 환경
    • 실시간 분석, 복잡한 스트림 처리 또는 데이터 변환이 필요한 경우
    • Apache Kafka만 사용하는 환경에서 고성능 실시간 데이터 처리가 필요한 경우
    • 개발자가 Kafka의 내부 동작을 잘 이해하고 있는 경우.
    • 복잡한 스트림 처리(예: 데이터 집계, 변환, 윈도우 연산 등)가 요구되는 애플리케이션.
    • 시스템이 이미 Kafka 중심으로 설계되어 있고, 세부적인 제어가 필요한 경우.

Spring-cloud-stream

  • 장점
    • Binder 추상화를 통해 다양한 메시징 시스템과 쉽게 통합 가능
    • 선언적 프로그래밍 모델로 빠른 개발 가능
    • 이벤트 중심 마이크로서비스 아키텍처 구축에 최적화
    • Spring Cloud와의 자연스러운 통합으로 확장성과 관리 용이성 제공
  • 단점
    • Kafka의 고급 기능(예: Streams API)에 대한 접근이 제한적.
    • 추상화가 많아 성능 최적화나 세부 제어가 어려울 수 있음.
  • 적합한 상황:
    • 다양한 메시징 시스템을 사용하는 환경
    • 여러 메시징 시스템(Kafka, RabbitMQ 등)을 통합해야 하는 환경.
    • 이벤트 중심 마이크로서비스를 빠르게 구축해야 하는 경우.
    • Spring 생태계를 사용하는 팀에서 빠른 개발과 배포가 중요한 경우.
    • Spring Boot와 Spring Cloud를 사용하는 팀에서 생산성과 유지보수성을 중요하게 여기는 경우.

 

  • spring-kafka는 kafka-clients를 의존
  • spring-cloud-stream은 spring-kafka에 의존하고 있음
  • spring-cloud-stream은 kafka만 보고 만든게 아님
    • kafka보단 일반화된 용어를 많이 씀
    • kafka의 topic을 spring-cloud-stream에서는 destination이라고 한다
  • 커스터마이징을 하고 싶다면 spring-cloud-stream
    • kafka-spring은 커스터마이징 하려면 모든 configuration을 각각 커스터마이징을 해야 한다.
    • 추상화가 많아 성능 최적화나 세부 제어가 어려울 수 있음
블로그 이미지

감동맨

rkaehdaos의 블로그

,

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB

 


I. 학습 인증샷 4장 이상 포함

1. 공부시작: 날짜, 시각 다 나오도록

공부 시작

2. 공부 종료: 날짜 시각 다 나오도록

공부 종료

3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장

카프카 ui??

4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)

강의시작하자 붙어보라는 localhost:8081의 모습


II. 학습 후기 700자 이상 (공백 제외)

강의 시작은 바로 localhost:8081로 붙어서 실습이 시작되지만...일단 똥인지 된장인지 알아야지?

Kafka UI는 뭘까?

 오픈소스 웹 기반 도구

  • Apache Kafka 클러스터를 관리하고 모니터링하기 위한 오픈소스 웹 기반 도구 인 듯 하다
  • 직관적인 사용자 인터페이스를 제공하여 Kafka의 주요 기능을 쉽게 접근하고 관리할 수 있도록 설계 
  • 특히, Kafka UI는 다중 클러스터 관리, 성능 모니터링, 메시지 브라우징 등 다양한 기능을 지원

Kafka UI의 주요 기능 (구글링)

  • 다중 클러스터 관리: 여러 Kafka 클러스터를 한 화면에서 모니터링하고 관리
  • 성능 모니터링: 브로커, 토픽, 파티션, 생산 및 소비 지표를 실시간으로 추적할 수 있는 경량 대시보드를 제공
  • 토픽 관리:  토픽 생성, 삭제, 설정 변경이 가능하며, 각 토픽의 파티션 수, 복제 상태 및 사용자 정의 구성을 확인 가능
  • 컨슈머 그룹 관리: 토픽 생성, 삭제, 설정 변경이 가능하며, 각 토픽의 파티션 수, 복제 상태 및 사용자 정의 구성을 확인 가능
  • 메시지 브라우징: JSON, Plain Text, Avro 인코딩을 지원하여 토픽 메시지를 탐색하고 필터링 가능
  • 스키마 레지스트리 통합: Avro, JSON Schema, Protobuf 스키마를 등록 및 관리하여 메시지 인코딩을 간소화
  • 보안 및 인증: OAuth 2.0(GitHub, GitLab, Google)을 통한 인증과 역할 기반 접근 제어(Role-Based Access Control)를 지원
  • 데이터 마스킹: 민감한 데이터가 포함된 메시지를 보호하기 위해 데이터 마스킹 기능을 제공
역시 앞선 시간의 레서판다와 마찬가지로 설치와 설정에 대해서는 강의에서 나오지 않는다.
운영 전에 해당 부분은 따로 실습해보고 설치가 필요해 보임.
실습환경의 docker-compose를 보면 환경을 딸 수 있을 듯 하다.

RedPanda처럼 메시지와 검색등을 제공한다.

아니.. 이게 최종 선택일 듯

  • 지금 하루에 한번씩 내가 선택한 툴이 바뀌는데...
  • 일단 더 모던한  느낌?
    • 정보 자체는 CMAK이나 Redpanda와 비슷한 정보와 ui를 보인다
    • Redpanda에서 감동을 먹었던 view도 똑같이 제공한데 더 세련되어보인다.
    • 일반 테마 다크테마도 지원하는 듯하다.
  • 앞으로 강의에서도 이걸 계속 활용한다고 하니.. 이게 최종이다..
블로그 이미지

감동맨

rkaehdaos의 블로그

,