본문 바로가기

BackEnd/Project258

[BigData] Ch12. Kafka Stream을 활용한 KStream 개발(1) 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. KafkaConfig 설정Kafka Stream 설정을 위해 KafkaConfig 클래스에서 스트림 설정을 정의한다. Kafka Stream은 실시간 데이터 스트림 처리를 위한 기능을 제공하며, 이를 위해 애플리케이션 ID, 부트스트랩 서버 주소, 키와 값에 대한 직렬화 방법 등의 필수 정보를 설정한다. 복수의 Kafka 서버 주소를 포함시킴으로써 높은 가용성을 보장하고, 데이터 처리의 신뢰성을 높인다. 또한, 스트림 처리를 위한 병렬 처리 스레드 수도 설정할 수 있다.@Configuration@EnableKafka@EnableKafkaStreamspublic class KafkaConfig { @Bean(name = KafkaSt.. 2024. 9. 18.
[BigData] Ch12. Kafka Produce, Consuming 개발 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다.이번 글에서는 프로듀서와 컨슈머를 만들어 봄으로써 실제 어떤 식으로 스프링부트에서 카프카에 데이터를 넣고 뺄 수 있는지 알아본다. 1. 프로젝트 생성스프링 이니셜라이저를 이용해 새 프로젝트를 생성한다. 의존성 추가스프링 카프카, 스프링 웹 등의 필요한 의존성을 pom.xml에 추가한다. 이를 통해 카프카 프로듀서와 컨슈머 기능을 사용할 수 있다. 4.0.0 org.springframework.boot spring-boot-starter-parent 3.0.1 com.example kafkaExercise 0.0.1-SNAPSHOT kafkaPro.. 2024. 9. 18.
[BigData] Ch11. Kafka 설치 및 Configuration 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. 이번 글에서는 AWS EC2에 단일 노드 Kafka를 설치하고 설정하는 과정을 다룬다. Kafka VM 생성 및 설치 (1대 Standalone)EC2 인스턴스 생성한다. 실습에서는 총 3개의 인스턴스를 사용할 것이다.첫 번째로 "my_first_kafka"라는 이름의 인스턴스를 생성한다. 기존에 생성한 키페어와 보안 그룹을 선택한다. 보안그룹에서 포트를 추가로 열어준다.보안 그룹 설정에서 포트를 추가로 개방한다.2181 포트: 주키퍼용9092 포트: 카프카용ssh 접근 후 설정생성한 인스턴스에 SSH로 접속하여 서버 세팅을 진행한다.root 권한으로 전환하고 패키지 정보를 업데이트한다.sudo suapt-get update Java를 .. 2024. 9. 17.
[BigData] Ch10. Kafka의 기본 개념 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. 현대의 데이터 처리에서 실시간성과 확장성은 필수적이다. Kafka는 이러한 요구를 충족시키기 위해 개발된 고성능의 분산 메시징 시스템이다. 이 장에서는 Kafka의 기본적인 개념과 구조, 그리고 사용 방법에 대해 알아본다. Kafka란?Kafka는 Apache Software Foundation에서 개발한 오픈 소스 메시지 브로커 프로젝트로, 대용량의 실시간 로그 처리를 가능하게 하는 분산 스트리밍 플랫폼이다. Kafka는 이벤트 또는 메시지 전송을 목적으로 사용되며, 대규모 데이터 파이프라인을 구성하는 데에 주로 쓰인다.목적 및 사용 방법목적: Kafka는 데이터의 실시간 처리와 분산 데이터 스트리밍을 목적으로 한다.사용 방법: Ka.. 2024. 9. 16.
[BigData] Ch09. Kafka 활용 서비스 설계 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. 현대의 많은 서비스들은 대용량 데이터를 실시간으로 처리하고, 분석하여 사용자에게 빠르고 정확한 정보를 제공하는 것이 핵심이다. 특히 비즈니스 요구사항에 맞추어 실시간으로 데이터를 처리하고, 이를 바탕으로 사용자 행동을 분석하는 능력은 서비스의 경쟁력을 높이는 중요한 요소이다. Kafka는 이러한 요구를 충족시킬 수 있는 대표적인 분산 스트리밍 플랫폼으로, 대용량 데이터 처리, 실시간 데이터 흐름 관리, 시스템 간의 느슨한 결합을 가능하게 한다. 본 글에서는 Kafka를 기반으로 한 UseCase에 대한 서비스 요구사항 및 품질 요건을 정의하고, 이를 통해 효율적이고 안정적인 서비스 구축 방법을 살펴본다. UseCase에 기반한 Kafk.. 2024. 9. 16.
[BigData] Ch08. Redis 추가 활용 사례 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. Redis를 이용한 Session 관리Session 관리란?세션 관리는 사용자가 웹 사이트에 로그인한 이후의 모든 활동(검색, 장바구니 추가, 결제 등)이 서로 연결되어 일련의 연속된 행위로 인식되도록 하는 메커니즘이다. 이를 통해 상태가 없는 HTTP 프로토콜에서도 사용자의 상태를 지속시킬 수 있다. Redis를 이용한 세션 관리의 장점Redis를 세션 관리에 사용하면, 빠른 데이터 처리 속도와 함께 서버 재시작 시에도 데이터가 유실되지 않는 안정성을 보장받을 수 있다. 또한, 분산 시스템 환경에서 세션을 여러 서버에 걸쳐 일관성 있게 유지할 수 있다는 큰 장점이 있다. 동작 방식세션 생성: 사용자가 웹 사이트에 최초 로그인 시, 서.. 2024. 9. 16.