웹프로그램이야기(99)
-
Springboot Kafka Consumer
지금까지 Zookeeper, Broker 설정 및 kafka console을 이용하여서 Producer, Conumer를 테스트해봤습니다. 이번에는 Springboot를 이용하여서 Consumer를 작성해보도록 하겠습니다. 1. 프로젝트 설정 https://start.spring.io/ 사이트에서 아래와 같이 프로젝트를 생성하여 줍니다. 프로젝트 생성 후 프로젝트 구조는 아래와 같습니다. 2. 소스 코드 application.properties spring.output.ansi.enabled: always bootstrap-servers=localhost:9092,localhost:9093,localhost:9094 bootstrap-servers는 앞에서 3개의 Broker 주소입니다. KafkaPro..
2022.01.19 -
Kafka Topic 생성 및 Producer, Consumer 테스트
본 예제 테스를 위해서는 앞에서 설명한 Zookeeper와 Kafa서버가 실행되어 있어야 합니다. 지금까지 Zookeeper, Kafka 설치 및 설정을 완료 하였습니다. 현재까지 설정에 대한 확인을 위하여서 Topic 생성 후 Producer와 Consumer 테스트를 해보도록 하겠습니다. Topic 생성 testTopic 생성을 위해서 C:\kafka\kafkaNode1 폴더로 이동한다. testTopic 생성 .\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --create --topic testTopic --partitions 3 --replication-factor 3 test..
2022.01.16 -
Kafka(Broker) 설치 및 설정
예제에서는 3개의 Broker에 대한 설치 및 설정에 대해 설명 하도록 하겠습니다. 다운로드 및 폴더 설정 Kafka 설치는 Window10 기준이며 버전은 2.8.1입니다. 아래의 사이트에서 프로그램을 다운로드합니다. https://kafka.apache.org/downloads Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org C:\kafka\kafkaNode1,C:\kafka\kafkaNode2,C:\kafka\kafkaNode3 폴더를 만들어 줍니다. 폴더 생성 후 압축을 푼후 kafka_2.12-2.8.1 폴더 안의 모든 파일을 kafkaNode1, kafkaNode2, kafkaNode3로 복사하여 줍니다..
2022.01.15 -
Zookeeper 설치 및 설정
Zookeeper의 역할은 많겠지만 Broker와의 관계에서는 가장 큰 역할은 분산 메시 지큐의 정보를 관리해주는 역할을 합니다. 예제를 위하여서 노드는 3개의 노드를 설정합니다. 다운로드 및 폴더 설정 Zookeeper 설치는 Window10 기준이며 버전은 3.7.0입니다. 아래의 사이트에서 프로그램을 다운로드합니다. https://zookeeper.apache.org/releases.html#download
2022.01.14 -
Kafka 개념
SpringBoot를 이용한 Kafka 연동 전에 우선 Kafka에 대한 개념 및 서버 설정이 먼저 일 것이다. Kafka에 가장 중요한 개념은 partiton과 replication 인거 같다. 아래의 그림은 파티션 3개, 레플리케이션 3개로 이루어진 토픽이 Broker에 할당된 모습이다. ISR은 위의 그림에 표신된 것처럼 특정 파티션의 리더, 팔로워 모든 레코드가 복제되어 sync가 맞는 상태를 의미한다. Kafka 용어 정리 Broker : 카프카 애플리케이션 서버 단위 Topic : 데이터 분리 단위. 다수 파티션 보유 Partition : 레코드를 담고 있음. 컨슈머 요청 시 레코드 전달 Offset : 각 레코드당 파티션에 할당된 고유 번호 Consumer : 레코드를 polling 하는 애..
2022.01.13 -
Axios Interceptor 를 이용한 토큰 갱신 및 권한 처리
토큰의 갱신 및 권한의 체크는 Axios Interceptor를 이용하여서 처리한다. 토큰 갱신 로그인을 하게 되면 서버에서는 AccessToken과 RefreshToken을 발급하게 됩니다. 프로젝트에서는 테스트를 위해서 AccessToken의 만료 시간은 2분 RefrshToken의 만료 시간을 5분으로 설정하였습니다. 토큰 업데이트 프로세스 1. Reqeust Header AccessToken, 사용자 이름을 설정하여서 Back-end API를 호출한다. 2. Back-end의 JwtFilter에서는 AccessToken의 유효성 체크 후 Token이 만료된 경우 새로 발급된 AccessToken을 Response Header에 포함하여서 결과 메시지와 함께 전송한다. 3. Axios Interce..
2021.12.12