분류 전체보기
Spring Boot에서 JPA 사용하기
기존에 Mybatis를 사용해서 데이터베이스에 CRUD 작업을 하고 있는 부분을 JPA로 변경해보았습니다. JPA를 적용한 이유는 기존에 사용하던 간단한 SQL들을 JPA를 적용하면 SQL을 작성할 필요 없이 객체 지향적으로 전환할 수 있어서 적용해보았습니다. 1. 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 2. 엔티티 클래스 생성 JPA 엔티티 클래스를 생성합니다. import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import lombok.Data; @Data @Entity(na..
[Docker] [Spring Boot] [Kafka] [ELK] 다른 Docker Container 간 통신
[Docker] Docker에서 Kafka 실행하기 에서 Docker container에 Kafka를 실행했습니다. 그리고 [Docker] Spring boot 환경에서 Docker로 ELK 사용하기 에서 Docker container에 ELK를 실행했습니다. 이번에는 다른 Docker container에서 실행되는 Kafka와 Logstash가 네트워크가 연결되게 설정을 변경하고 Spring boot와 Kafka가 연결되게 설정을 하겠습니다. 1. Kafka compose.yml 파일 수정 version: "3.5" networks: shared_network: name: my_network driver: bridge volumes: kafka_data: driver: local services: ka..
[Docker] Docker에서 Kafka 실행하기
Kafka 서버 비정상적 종료 에러 해결 에서 로그 폴더를 삭제 하는 방향으로 에러를 해결했는데 동일 에러가 다시 발생해서 Kafka를 Linux OS에서 실행하기 위해서 Docker에서 Kafka가 실행되게 변경하였습니다. 1. compose.yml 파일 작성 version: "3" volumes: kafka_data: driver: local services: kafka: image: 'bitnami/kafka:3.6.1' ports: - '9092:9092' environment: - KAFKA_CFG_NODE_ID=0 - KAFKA_CFG_PROCESS_ROLES=controller,broker - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:909..
Apache Kafka Raft(KRaft) 소개(ZooKeeper 제거)
Apache Kafka Raft(KRaft)는 Kafka 2.8 버전에서 도입된 중요한 기능 중 하나입니다. Kafka 2.8 버전부터 KRaft (Kafka Raft 메타데이터 모드)라는 이름으로 알려진 이 기능은 Kafka의 클러스터 메타데이터 관리를 위한 새로운 방식을 제공합니다. 이전까지 Kafka는 메타데이터 관리를 위해 Zookeeper에 의존해 왔지만, KRaft 모드는 Kafka가 Zookeeper 없이 독립적으로 클러스터 메타데이터를 관리할 수 있게 해줍니다. Raft 프로토콜이란? Raft는 분산 시스템에서 높은 가용성을 보장하면서 일관된 상태를 유지하기 위해 설계된 합의 알고리즘입니다. Raft는 분산된 노드 간에 안정적인 리더 선출과 로그 복제를 통해 시스템의 일관성을 유지합니다. ..