Kafka 10

[Docker]Kafka + Zookeeper docker-compose Example

docker-compose 여러개의 컨테이너로부터 이루어진 서비스를 구축할때 사용한다. Kafka docker-compose.yml 생성 kafka 브로커를 이용할때 정확한 IP가 필요해서 IP 설정 필요 version: '2' services: zookeeper: image: gugbab/zookeeper ports: - "2181:2181" networks: my-network: ipv4_address: 172.18.0.100 kafka: image: gugbab/kafka ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: 172.18.0.100 KAFKA_CREATE_TOPICS: "gugbab_test:1:1" KAFKA_ZOOKEEPE..

DevOps 2023.05.30

[MSA] Spring Boot - Kafka Consumer, Producer Example

의존성 주입 (build.gradle) dependencies { ... implementation 'org.springframework.kafka:spring-kafka:2.8.0' } Kafka Consumer 설정 파일 ConsumerFactorcy - Topic에 접속에 필요한 정보 ConcurrentKafkaListenerContainerFactory - Topic 에 변경사할을 리스닝하는 리스너 package com.gugbab.gugbabservices.messagequeue; import ... @EnableKafka @Configuration public class KafkaConsumerConfig { Environment env; @Autowired public KafkaConsume..

MSA 2023.05.10

[MSA]Kafka Connect - Connect Source Example

Kafka Connect Source - 데이터를 보내는 쪽 Kafka Connect Source 등록 curl -X POST -d @- [kafka-Connect-server]/connectors --header "content-Type:applicatin/json" body ex) { "name": "gugbab-source-connect", // 커넥트 이름 "config": { "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "connection.url": "jdbc:mysql://localhost:3306/gugbabdb",// 연결할 DB "connection.user": "root",// DB 계정 "connection..

MSA 2023.05.08

[MSA] Apache Kafka란? Kafka 장단점

https://kafka.apache.org/ Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org Kafka 란? Scalar로 개발된 오픈소스 메시지 브로커 모든 시스템으로 데이터를 실시간으로 전송할 수 있는 시스템 Kafka 특징, 장점 Producer, Consumer 분리 메시지를 여러 Consumer에게 허용 높은 처리량을 위한 메시지 최적화 클러스터 환경이어서 Scale out이 쉽다. Kafka Broker Kafka 애플리케이션 서버 3대 이상의 클러스터 서버 구성 권장 Broker를 중재해주는 코디네이터 사용 서버의 상태 장애 체크 주로 zookeeper 사용

MSA 2023.04.29

[MSA] Spring Boot - Spirng Cloude Bus (RabbitMQ)

Spring Cloude Bus 분산 시스템에서 구성 변경 사항을 전파하는 라이브러리 구성 변경 사항이 발생하면, 해당 변경 사항을 구독한 모든 인스턴스에 대해 자동으로 전파되어 구성 변경을 쉽게 처리할 수 있다. AMQP (Advanced Message Queuing Protocol) 메세지 지향 미들웨어를 위한 개방형 표준 으용 계층 프로토콜 Kafka 분산형 스트리밍 플랫폼 대용량의 데이터를 처리 가능한 메시징 시스템 초당 100k+ 이상의 이벤트 처리 pub/sub, Topic에 메시지 전달 Ack를 기다리지 않고 전달 가능 생산자 중심 RabbitMQ 초당 20+ 메시지를 소비자에게 전달 메시지 전달 보장, 시스템 간 메시지 전달 브로커, 소비자 중심 RabbitMQ 설치 (MAC) brew u..

MSA 2023.04.13