메시지 브로커

안녕하세요,
Redis Pub/Sub 수강 중
위와 같이 메시지 브로커에 문제가 있는 것 같은데, 백엔드 지식이 부족해서 정확히 어떤 부분에서부터 원인을 찾아야할지 모르겠습니다.
서버/컨테이너 재시작 해봤는데 동일한 걸로 봐서 다른 문제인 것 같아서 도움 요청드립니다.
https://github.com/wozlsla/fastapi-async/blob/prac/src/shared/message_broker.py
Answer 2
0
안녕하세요. 먼저 redis가 정상적으로 동작되고 있는지 확인이 필요할 것 같습니다.
터미널에 docker logs chat-redis를 입력했을 때, 아래와 같은 로그가 출력되는지 확인해주실 수 있을까요?
"Ready to accept connections tcp"
정상적으로 동작 중이라면, redis-cli를 통해서 직접 채널을 구독하고, 메시지가 정상적으로 전파되는지 확인할 수 있습니다.
redis-cli -p 63790SUBSCRIBE openchat이후 채팅 화면에서 메시지 입력해서 메시지가 잘 전파되는지 확인
0
빠른 답변 감사합니다. 아래와 같이 진행 해 보았습니다.
1. docker logs chat-redis를 입력했을 때, 아래와 같은 로그 출력 확인 됐습니다.
"Ready to accept connections tcp"
2. docker exec -it ID redis-cli
127.0.0.1:6379> subscribe openchat
1) "subscribe"
2) "openchat"
3) (integer) 1docker exec -it ID redis-cli -p 63790
Could not connect to Redis at 127.0.0.1:63790: Connection refused
이 상태에서 채팅 화면에 메시지 입력 시, 전파되지 않습니다.
위 상태에서 다른 터미널에서 실행
127.0.0.1:6379> pubsub channels
1) "openchat"
127.0.0.1:6379> pubsub numsub
(empty array)
127.0.0.1:6379> pubsub numpat
(integer) 0
127.0.0.1:6379> publish openchat "Hi"
(integer) 12번 터미널 상태
1) "message"
2) "openchat"
3) "Hi"
이런 식으로 실행 해 보는 게 맞는지 모르겠네요.
redis 는 잘 실행되고 있는 것 같습니다.
1
해결 했습니다.
src/main.py의 message_broker가 주석처리 된 것을 확인 못했습니다.
조금 더 꼼꼼히 살펴보고 질문 드릴걸 그랬네요 ;-).. 답변 감사드립니다!!
0
안녕하세요, 인프런 AI 인턴입니다.
메시지 브로커 사용 시 발생하는 문제는 다양한 원인에서 기인할 수 있습니다만, Redis의 Pub/Sub 기능을 사용하는 경우 몇 가지 자주 발생하는 문제를 살펴보겠습니다.
Redis 서버 연결 문제: Redis 서버가 제대로 시작되지 않았거나, 애플리케이션이 Redis 서버에 연결할 수 없는 경우 문제가 발생할 수 있습니다. 연결 설정(주소 및 포트 번호)을 확인하고 올바르게 설정되어 있는지 확인해 주세요.
포트 충돌: 여러 애플리케이션이 같은 포트를 사용하려고 할 경우 포트 충돌 문제가 발생할 수 있습니다. Redis 서버 및 애플리케이션의 포트 설정을 확인해 주세요.
Redis 클라이언트 버그: Redis 클라이언트 라이브러리의 버그나 비호환성 문제로 인해 메시지 수신이나 전송이 제대로 이루어지지 않을 수 있습니다. 사용 중인 라이브러리가 최신인지 확인하고, 필요시 업데이트를 고려해 보세요.
구독자(Sub) 설정 오류: Redis Pub/Sub에서 메시지를 수신하는 구독자 설정이 제대로 되었는지 확인합니다. 올바른 채널을 구독 중인지 체크해 보세요.
관련해서 다른 사용자의 겪었던 문제들을 참고할 수 있는 자료도 추천드립니다. 다음 URL에서 Redis의 설정 오류 및 해결책에 대한 추가 정보를 찾을 수 있습니다:
- 레디스 호환 문제 해결 예제
위 내용이 해결의 실마리를 제공하기를 바라며, 만약 문제 해결이 어려운 경우 추가적인 정보를 주시면 여러 측면에서 도와드릴 수 있도록 하겠습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
작업형 1 유형 부분
0
8
1
수강평 이벤트
0
15
2
순위가 동률일 때의 처리에 대해 질문드립니다.
0
10
2
작업형 1 (삭제예정, 구 버전)
0
28
2
강의노트는 어디있나요?
0
13
1
노션 학습 자료 권한 요청
0
13
1
수강기간 연장 문의드립니다.
0
19
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
19
3
part2강의 문의사항입니다.
0
17
2
수강기간 연장 문의드립니다.
0
26
1
인덱스 슬라이싱
0
26
2
코드를 첨부해야하는 이유가 있나요?
0
20
2
소리가 겹쳐서 들려요
0
19
2
데스크톱과 노트북 연결
0
26
1
dict, zip
0
21
2
노션 : 파트3번 링크와 권한 , 파트4번 권한요청, 파트 5번도 미리 요청 드립니다.
0
27
4
6-6 실습 문의
0
23
2
미션 06-02
0
23
2
yes24 수집 md 파일 만들 때
0
23
2
Event Loop 관련 질문드립니다.
0
89
2
비동기 서버 구성하다 알 수 없는 에러에 빠졌는데...
0
538
5
비동기 await 관련
0
102
2
비동기 API 사용시 단점? 주의사항? 이 따로 있을까요?
0
291
2
강의 자료 질문
0
115
2

