본문 바로가기

개발일지/message queue,broker6

Kafka와 SSE를 활용한 비동기 처리 이번 게시물에는 알람을 발생 시킬때 일반적으로kafka와 sse 를 사용한 방법이 적절한 방법인지 알아보자Kafka(카프카)란?Kafka는 Apache Software Foundation에서 개발한 오픈 소스 메시지 브로커 프로젝트로, 대용량의 실시간 처리를 가능하게 하는 분산 스트리밍 플랫폼이다. 즉, 분산 스트리밍 플랫폼이란 대량의 데이터를 실시간으로 수집, 처리, 전달하는 시스템을 의미한다. 카프카는 분산 메시징 시스템으로, 대용량 데이터의 비동기 처리에 최적화된 도구이다. 카프카를 사용하면 데이터 생산자(Producer)와 소비자(Consumer) 간의 메시지 교환을 효율적으로 처리할 수 있다. 이를 통해 실시간 데이터 스트리밍이 가능해지며, 시스템 간의 결합도를 낮추고 확장성을 높일 수 있다. .. 2025. 1. 7.
Kafka Stream 이란 Kafka Stream이란?Kafka Streams은 Apache Kafka에서 제공하는 스트림 처리 라이브러리이다.이를 통해 실시간 데이터 스트림(실시간으로 끊임없이 들어오는 데이터의 연속적인 흐름)을 쉽게 처리하고 변환하는 애플리케이션을 작성할 수 있다.Kafka Streams은 Kafka에 저장된 데이터를 처리하거나 데이터를 실시간으로 읽고 쓰는 데 사용되며, 다음과 같은 주요 특징을 갖는다:라이브러리 기반: 별도의 클러스터를 필요로 하지 않고, Java 애플리케이션 내부에 포함되어 실행된다.분산 처리: Kafka의 파티션 구조를 활용하여 확장 가능한 분산 처리가 가능하다.상태 관리: 스트림 처리 중 상태 정보를 저장하기 위해 RocksDB와 같은 내부 스토리지를 활용한다.배치 및 실시간 처리 통합.. 2024. 12. 5.
Kafka 인스턴스 생성 과정 my_first_kafka의 보안 규칙에서인바운드 규칙 편집에서 추가해준다. kafka 의 9092portzookeeper의 2181 port 인스턴스를 연결해서 apt-get을 update한다ubuntu@ip-172-31-0-147:~$ sudo apt-get update ### root로 이동하고 jre를 설치한다.ubuntu@ip-172-31-0-147:~$ sudo suroot@ip-172-31-0-147:/home/ubuntu# apt-get install default-jre ### java 버전을 확인한다.root@ip-172-31-0-147:/home/ubuntu# java -versionopenjdk version "11.0.25" 2024-10-15OpenJDK Runtime Envir.. 2024. 11. 25.
Redis설치 및 Configuration(2) 현재인스턴스a : master인스터스b : slave상태인데인스턴스b를 이렇게 restart하면sudo service redis restart인스턴스b가 master로 되기 때문에다시 인스턴스b에서redis-cli 로replicaof master대상IP 6379 명령어로레디스를 slave로 만들어줘야한다.redis-cli> replicaof master의ip 6379그러면 다시 master의 redis-cli info 와 slave의 redis-cli info를 했을때명확히 master - slave 관계를 알수 있으며slave 에서 해당 명령어를 입력해도 master - slave 관계를 알 수 있다.tail -f /var/log/redis/redis-server.log참고로 sentinel.conf .. 2024. 8. 28.
Redis설치 및 Configuration(1) 아키텍처sentinel의 역할은master가 정상상태인지 확인하고 정상상태가 아니면 replica를 master로 전환해주는 역할참고로페일오버(Failover) 는 장애 조치 기능으로 시스템 장애 이벤트 발생 시 하나 이상의 예비 백업 시스템(노드) 로 자동 전환되는 것을 말한다.즉, master가 내려가면 slave가 master 역할을 해줄 때 그게 failover 이다. ec2에서 redis 설치 명령어redis master-slave 환경을 셋팅하는 설정을 진행할 것이다.일단 인스턴스a가 있고 인스턴스a에서 해당 명령어를 실행한다.# root 계정으로 전환sudo suapt-get updateapt-get install redis-serverservice redis status# redis 설정 .. 2024. 8. 21.
Redis 구조 및 성능 비교 Redis 구조 및 성능 비교: Stand-Alone부터 Cluster까지Redis 구조stand aloneRedis가 단일 인스턴스로 동작하는 방식.별도의 복제본이 없으므로, 장애 시 데이터 복구가 어렵고 가용성이 낮음.master-replicareplica가 master로 sync를 따라간다.Replica는 Master의 데이터를 실시간으로 복제하여 데이터를 보호함.장점: Master가 장애가 나더라도 Replica가 데이터를 유지함.단점: 자동 장애 조치가 없으며, 수동으로 장애 복구를 수행해야 함.sentinel ( 일반적으로 많이 선택하는 방식)master - replica구조 기반인데 master가 장애가 나면 replica를 master로 전환함그 사이에 원래 master를 복구 하고 rep.. 2024. 8. 16.