RabbitMQ
- ๋ฉ์์ง ํ ๋ฐ๋ชฌ (Message Queue Daemon)
- ์คํ๋ง ํ๋ ์์ํฌ์ pivotal็คพ์์ ์ฃผ๋ํ๋ ์คํ ์์ค
- erlang ๊ธฐ๋ฐ
- ๊ฒฝ์ ์ ํ์ผ๋ก activemq.apache.org
- AMQP ์คํ ์ค์
AMQP
RabbitMQ
http://www.rabbitmq.com/
message broker
- producers
- consumers
- ๋ฉ์์ง ์ ๋ฌ ๊ธฐ๋ฅ
- ๊ฒฝ๋ก ์ง์ , route
- ๋ฒํผ๋ง buffer
- ๋ณด๊ด persist
์ค์น
brew update
brew install rabbitmq
# $PATH added in shell config
PATH=$PATH:/usr/local/sbin
# start server
rabbitmq-server
tutorial ํด์ค
sudo easy_install pip
sudo pip install pika
1. Hello World
- Producer, Consumer, Message Queue
- ๋ฉ์์ง ์ ๋ฌ์ ๊ธฐ๋ณธ ํน์ ๊ธฐํธ
- Send์ Recv์ ์ฝ๋ ์คํ๊ณผ ์ค๋ช
2. Work Queues
- ๋ฉ์์ง๋ ๋ฌธ์์ด๋ฟ๋ง ์๋๋ผ ์์
๋ช
๋ น์ ๊ฐ์ธ์ ์ ๋ฌ ๊ฐ๋ฅ
- Consumer๋ฅผ Worker๋ก ๋๊ณ ์ฌ๋ฌ Worker๋ค์ด ๋์์ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๋ ๊ตฌ์กฐ
- Round-robin ๋ฐฉ์์ผ๋ก ์์
๋ฐฐ๋ถ
- ์์
๋ฌด๊ฒฐ์ฑ์ ์ํ acknowledgement ์ค๋ช
3. Publish/Subscribe
- exchange๋ฅผ ํตํด์ ํ๋์ ๋ฉ์์ง๋ฅผ ์ฌ๋ฌ Queue์ ๋ณด๋ด๋ ๋ฒ
- producer
- queue
- consumer
4. Routing
- exchange์ binding Key๋ฅผ ์ด์ฉํด routing Key๋ก ๋งค์นญ์์ผ ๋ณด๋ด๋ ๋ฒ
5. Topic
- ํจํด์ผ๋ก ๋ฉ์์ง๋ฅผ Queue์ ๋ณด๋ด๋ ๋ฐฉ๋ฒ
6. RPC
- ์๊ฒฉ์ ์๋ ํจ์๋ฅผ ํธ์ถํด์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ์