Backend 3

[MQ] RabbitMQ, Kafka, ActiveMQ 비교 (3)

📌 AMQP : Advanced Message Queue Protocol메시지 지향 미들웨어(MOM)을 위한 개방형 표준 응용 계층 프로토콜AMQP는 일반적인 메세지 큐와 비슷하지만, Exchange와 Binding이라는 개념이 있어서 더 유연하게 처리할 수 있다.Exchange라는 라우터가 메세지의 경로를 결정하고, Binding이 그 경로를 설정해준다.▪️AMQP의 주요 개념Producer (생산자): 메세지를 만들어서 Exchange에 Publish한다.Consumer (소비자): 메세지를 Queue에서 꺼내서 처리한다.Exchange (교환기): Producer가 보낸 메세지를 어떤 Queue로 보낼지 결정하는 라우터다.Queue (큐): Consumer가 메세지를 소비하기 전까지 메세지가 보관..

Backend 2024.12.13

[MQ] Message Queue 관련 기본 개념 정리 (2)

📌 메세지 지향 미들웨어(MOM)응용 소프트웨어 간의 비동기적 데이터 통신을 도와주는 소프트웨어여러 프로그램들이 서로 메시지를 주고받을 수 있도록 해주는 중간 다리 역할 메시지를 보관 / 라우팅 / 변환 할 수 있는 기능을 제공 ▪️보관 (Message Storage)MOM은 메세지를 백업하거나 보관할 수 있다.백업 기능을 제공함으로써 지속성을 제공한다.▶️ 송신자와 수신자가 동시에 네트워크 연결을 유지할 필요가 없게 된다.예를 들어 송신자가 메세지를 보냈을 때 수신자가 네트워크 문제로 잠시 받을 수 없더라도, 메세지는 미들웨어에서 보관되며 나중에 수신자가 메세지를 받으면 된다. 이렇게 해서 메세지의 지속성을 보장할 수 있다.▪️라우팅 (Message Routing)MOM은 메세지를 라우팅하는 역할을 ..

Backend 2024.12.13

[MQ] 메세지 전달과 설계 이슈 - 운영체제 프로세스 상호작용 (1)

📌 프로세스 상호작용프로세스들이 서로 상호작용할 때 필요한 두 가지 기본적인 요구사항은 동기화(synchronous)와 통신(communication)이다.  동기화는 상호배제를 보장하기 위해 필요하고, 통신은 프로세스들 간에 정보 교환을 위해 필요하다. ➡️동기화, 통신을 동시에 제공하는 대표적인 방법이 메시지 전달이다. ▪️메시지 전달을 위해 제공되는 가장 기본적인 primitive send : 프로세스는 전송하려는 정보를 메시지 형태로 만들어 destination(목적 프로세스)로 보낸다.receive : 프로세스는 receive를 호출하여 source(메시지를 보낸 프로세스)가 보낸 정보를 수신할 수 있다.📌 설계 이슈RabbitMQ, ActiveMQ, Kafka의 특징, 장단점은 아래의 메시..

Backend 2024.12.12