전체 글 87

[RabbitMQ] rabbitmq-server start 후 플러그인 설치 시 server 중단오류 / window 방화벽 / rabbitmq-plugins enable rabbitmq_management 플러그인 설치 / Offline change; changes will take effect at broker restart.

rabbitMq 서버를 정상적으로 실행시키고 플러그인 통해 manager UI 콘솔에 접근하기 위해 플러그인을 다운받아 enable 시켰다. 이때, 실행 중이던 서버가 갑자기 죽는 현상을 만들어냈다 ^^...;;; 일반적으로 플러그인을 다운받고 서버를 재시작 해야 다운받은 플러그인을 enable 할 수 있다. 재시작 하지 않을 시 다음과 같은 오류를 마주하게 된다. Enabling plugins on node rabbit@xxxxxxx: rabbitmq_management The following plugins have been configured: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch Applying plugin con..

개발.log/rabbitMQ 2023.04.18

[RabbitMQ] Error: unable to perform an operation on node 'rabbit@xxxx'. Please see diagnostics information and suggestions below. / rabbitMQ node 에러 / Erlang cookie

Error: unable to perform an operation on node 'rabbit@xxxx'. Please see diagnostics information and suggestions below. Error: unable to perform an operation on node 'rabbitmqcli-13048-rabbit@xxxxxxx@localhost'. Please see diagnostics information and suggestions below. Most common reasons for this are: * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issue..

개발.log/rabbitMQ 2023.04.18

[RabbitMQ] TCP connection succeeded but Erlang distribution failed / Erlang 오류 / Rabbitmq + Erlang 통신 오류

rabbitMq를 설치하고 기본으로 생성되는 노드를 사용해 localhost로 manager UI를 확인하는게 목표였다. 하지만 이게 이렇게 많은 오류를 마주할 일인가 싶었다. TCP connection succeeded but Erlang distribution failed 이 에러 메시지는 Erlang 분산 프로토콜을 사용하여 RabbitMQ와 통신할 때 발생할 수 있다. 이 에러는 TCP 연결이 성공했지만, Erlang 분산 프로토콜에 문제가 발생했다는 것을 의미한다. 이 에러가 발생하는 이유는 다양하다. 예를 들어 노드 이름이 잘못 설정되었거나, 서로 다른 Erlang 버전이 사용되었을 때 발생할 수 있다. 또는 방화벽 등 다른 네트워크 구성 요소로 인해 발생할 수도 있다. 하지만 나는 노드를 추..

개발.log/rabbitMQ 2023.04.18

[RabbitMQ] rabbitmq 구성 파일 / rabbitmq.config 와 rabbitmq.conf 차이 / 구성 파일 오류 / advanced.config

rabbitMq를 설치하였으나 manager 플러그인을 설치하면 server가 중단되고, server를 실행시키면 플러그인이 동작하지 않는 신기한 현상을 만들어내며 삽질하고 있다.. 제발 이상한 것 좀 그만 만들어내고 이제 실행 좀 되었으면 좋겠다. 다른 포스팅을 보면 한번에 잘 되는 과정만 나와있고 삽질한 과정은 찾을 수가 없었다. 또 영문으로 된 포스팅이 그나마 있었지만 그 또한 명쾌한 해답이 되진 못했다. 따라서 이번에도 rabbitMq 초심자로서 삽질 했던 과정을 남겨보고자 한다. rabbitMq를 막연히 공부하면서 사용하려고 하니 이것저것 알아가는게 쉽진 않은과정인 것 같다. 따라서 포스팅 과정에서 잘못된 정보가 있을 수도 있으니 언제든 댓글로 남겨주시면 배워가겠습니다 :) *rabbitMq 기..

개발.log/rabbitMQ 2023.04.18

[RabbitMQ] "WARNING: Using RABBITMQ_ADVANCED_CONFIG_FILE: C:\Users\Judy\AppData\Roaming\RabbitMQ\advanced.config"/ rabbitmq 구성파일 / rabbitMQ 오류

"WARNING: Using RABBITMQ_ADVANCED_CONFIG_FILE: C:\Users\Judy\AppData\Roaming\RabbitMQ\advanced.config" 하나 해결하면 하나가 문제고, 계속 Warning만 발생하고 localhost로 manager UI도 열리지 않았다... 이때 RabbitMq 서버를 재실행하고 컴퓨터를 재부팅하고 Erlang을 다시 설치해보고 해볼 수 있는 여러가지 방법으로 오류해결을 시도했었다. 이때, 어떤 과정으로 삽질 했는지 포스팅하려고 한다. RabbitMQ의 구성 파일(rabbitmq.config)은 일반적으로 RabbitMQ의 동작 방식 및 기능을 구성하는 데 사용된다. RabbitMQ 서버에서 사용되는 구성 파일을 편집하려면 다음과 같이 설정..

개발.log/rabbitMQ 2023.04.18

[RabbitMQ] 'rabbitmqctl'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다. / rabbitmqctl 명령어가 실행되지 않을 때

'rabbitmqctl'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다. 윈도우에서 cmd 창을 열어 명령어를 입력하면 다음과 같은 에러 메시지를 봤던 경험이 한번 쯤은 있을 것이다. 이 메시지는 시스템 환경 변수를 설정해주지 않아 인식할 수 없을 때 발생하는 메시지이다. 따라서 RabbitMQ의 설치 경로를 환경 변수에 추가해야 한다. rabbitmqctl.bat와 rabbitmq-server.bat 파일의 경로가 포함된 sbin 폴더의 경로를 환경 변수인 PATH에 추가한다. 예를 들어, RabbitMQ가 C:\Program Files\RabbitMQ Server\rabbitmq_server-3.9.7 폴더에 설치되어 있다면, PATH 환경 변수에 C:\Progra..

개발.log/rabbitMQ 2023.04.18

[RabbitMQ] Window/rabbitmq-server 서버가 실행 중인지 확인하기/ Error: unable to connect to node rabbit@localhost: nodedown

Error: unable to connect to node rabbit@localhost: nodedown rabbitMq는 분산 메시징 시스템으로서 주로 서버를 구축하는 리눅스나 클라우드 환경에 설치하게 된다. 하지만 어쩌다보니 Window 환경에서 사용하게 되었다. 많은 사람들이 Window에서는 잘 사용하지 않다보니 자료도 별로 없어 꽤 고생했었다. 따라서 Window 에서 RabbitMq를 설치하며 삽질했던 과정을 포스팅하려고 한다. rabbitmq-server 명령어가 실행되지 않고 이상한 에러메시지가 출력된다면 rabbitmq 서버가 실행되고 있는 지 확인해야 한다. 이때, 서버 실행과 localhost manager UI화면과는 별개이다. 서버가 실행되지 않아도 manager UI는 접근이 ..

개발.log/rabbitMQ 2023.04.18

[RabbitMQ] 처음 만나는 rabbitMq + springboot + stomp : 환경설정

이번 포스팅은 본격적으로 rabbitMq 환경설정과 구현할 아키텍처를 미리 정의하고자 한다. 먼저 클라이언트는 react, angular 같은 SPA를 사용할 예정이며, 서버는 springboot로 구현한다. 이 아키텍처에서 rabbitMq는 다음과 같이 활용하고자 한다. 큰 흐름은 Springboot에서 Publish 된 메시지를 rabbitMq로 send 하고, Consumer는 rabbitMq로부터 메시지를 전달받아 라운드로빈 방식으로 처리하게 된다. 이때 rabbitMq와 TCP 통신하는 프로토콜은 AMQP와 STOMP를 혼용해서 사용할 것이다. 그 이유는 Springboot에서 rabbitmq와 연동할 때 지원되는 라이브러리에 STOMP가 지원되지 않아 AMQP와 혼용하게 되었다. 혹시 지원되는..

개발.log/rabbitMQ 2023.04.18

[RabbitMQ] 처음 만나는 rabbitMq + springboot + stomp : Message broker 이해

RabbitMQ란? 메시지 지향 미들웨어(MOM)로서, 분산 시스템에서 애플리케이션 컴포넌트 간에 메시지를 안정적이고 확실하게 전송하기 위해 설계된 오픈소스 소프트웨어이다. RabbitMQ는 다양한 프로토콜을 지원하며, 주로 AMQP(Advanced Message Queuing Protocol) 프로토콜을 사용한다. AMQP는 메시지 지향 미들웨어 시스템에서 안정적인 메시지 전송을 위한 표준 프로토콜로, RabbitMQ는 이 프로토콜을 기반으로 메시지를 주고 받는다. RabbitMQ는 큐(Queue)와 교환기(Exchange)를 중심으로 동작하는데 메시지를 생성하고 큐에 보내는 것을 '메시지 발행(Publish)'이라고 하며, 큐로부터 메시지를 받아 처리하는 것을 '메시지 구독(Subscribe)'이라고..

개발.log/rabbitMQ 2023.04.18

개발 환경의 중요성 AA의 중요성 아키텍처 중요성

간과된 환경설정은꼭 나비효과를 불러일으킨다. SI 프로젝트 대부분은 고객사에서 직접 진행하기 때문에 개발환경을 생각해볼 기회가 없었다. 고객사에서 주어진 환경과 이미 정해진 기술스택에 따라 진행되기 때문이다. 따라서 개발환경 자체에 대한 중요성이나 영향도를 파악하기에 어려움이 있었다. 하지만 우연히 프로젝트 하나를 본사 내부에서 진행하고, 개발완료 된 패키지 파일을 고객사에 설치해주어야 하는 일을 하게 되며 그 중요성을 몸소 깨달았다. 분명 개발망(dev)에서는 정상적으로 동작했다. 때로는 외부망(test)에서도 정상적으로 작동한다. 하지만, 운영(prod) 환경만 올라가면 동작하던 api가 안되고 스크립트 처리에 문제가 생긴다. 이 문제로 거의 몇 주를 고생했던 것 같다. 여기서 "모든 서버마다 환경..

IT Story 2023.03.20