본문 바로가기

반응형

백엔드/메세지 브로커

(5)
메세지 브로커 개요 정의 - 메시지 브로커(message broker), 인터페이스 엔진(interface engine)은 송신자의 메시지 프로토콜 형식으로부터의 메시지를 수신자의 메시지 프로토콜 형식으로 변환하는 중간 컴퓨터 프로그램 모듈이다. - 메시지 브로커들은 응용 소프트웨어가 이전에 정의해둔 메시지를 교환할 수 있는 전기통신의 요소 또는 컴퓨터 네트워크이다. - 메시지 브로커들은 메시지 지향 미들웨어(MOM)의 빌딩 블록이지만 일반적으로 MOM과 원격 프로시저 호출(RPC) 등의 전통적인 미들웨어를 대체하지는 않는다 특징 - Message Broker(메시지 브로커)는 Publisher(송신자)로부터 전달받은 메시지를 Subscriber(수신자)로 전달해주는 중간 역할이며 응용 소프트웨어 간에 메시지를 교환할 수 ..
Apache Kafka - 개요 Apache Kafka란?? 빠르고 확장 가능한 작업을 위해 데이터 피드의 분산 스트리밍, 파이프 라이닝 및 재생을 위한 실시간 스트리밍 데이터를 처리하기 위한 목적으로 설계된 오픈 소스 분산형 게시-구독 메시징 플랫폼. Kafka는 서버 클러스터 내에서 데이터 스트림을 레코드로 유지하는 방식으로 작동하는 브로커 기반 솔루션입니다. Kafka 서버는 여러 데이터 센터에 분산되어 있을 수 있으며 여러 서버 인스턴스에 걸쳐 레코드 스트림(메시지)을 토픽으로 저장하여 데이터 지속성을 제공할 수 있습니다. 토픽은 레코드 또는 메시지를 키, 값 및 타임 스탬프로 구성된 일련의 튜플, 변경 불가능한 Python 객체 시퀀스로 저장합니다. Apache Kafka의 사용 사례 Apache Kafka는 오늘날 시장에서 ..
unable to connect to redis; nested exception is io.lettuce.core.redisconnectionexception: unable to connect to localhost:6379 ** 개요 Redis를 활용하여 채팅을 구현하는 것이 목표였습니다. 이유 : 사실 창피한 이유지만... Redis와 연결조차 아직 안되어서 뜨는 에러입니다. 다음을 체크해봅시다. - 래디스 설치 여부 - 포트 번호
UnsatisfiedDependencyException ** 개요 Redis를 사용해서 채팅을 구현하는 초창기에 있었던 오류이다. 이유 : 메세지를 보내줄 채팅방을 못 찾아서입니다.... Repository에서 혹시나 채팅방을 찾아주는 부분이 잘못되지는 않았는지 확인해보면 금방 해결됩니다.
Redis를 채팅 기능에 적용하며 겪은 시행착오들 **개요 - 채팅 기능을 처음 구현해보면서 많은 시행착오를 겪었다. 있었던 문제점들과 해결방법들을 공유하려한다. Web Socket을 이용하여 구현 > 브라우저간 호환 문제, 지나치게 많은 코드 (채팅 데이터 관리, 채팅방 입장 등등) SockJS와 STOMP를 적용 > 많은 코드들이 절약됐지만, 단일 서버 통신, MySql로 데이터를 관리하다보면 성능 면에서 Redis와의 차이, 채팅 데이터가 날아가는 문제 Redis 적용 > stomp broker 설정으로만 채팅이 될 줄 알았지만 클라이언트가 서로 다른 서버에 연결이 됬을때 채팅을 하려면 redis가 필요했다. 또한 인-메모리 기반의 캐시가 디스크에 접근하는 기존의 RDB보다 성능이 좋았다. 나는 마지막의 이유 때문에 Redis라는 것을 적용해서 채..

반응형