ToCode
Kanalga Telegramโda oโtish
ืืืคืื ืงืฆืจืื ืืืชืื ืชืื ืืืช ืื ืื ืคืจืง
Ko'proq ko'rsatish1 419
Obunachilar
Ma'lumot yo'q24 soatlar
Ma'lumot yo'q7 kunlar
Ma'lumot yo'q30 kunlar
Postlar arxiv
1 419
# ืืื ืืขืื ืฉื ืืงืื
ืืืื ืืืื ื ืืืจ ืืืื ืฉืืืืืช ืืืงืื ืขื ืืืืืื ืืื ืคืืงืืืืืช. ืืขืจื ืืื ืื ืืืชืช ืืืงืื ืืืชืจ ืืงืื ืืืืกืื ืืื ืืืชืช ืืืงืื ืืจื ืืืชืจ ืืืื ืืืฆืื ืืช ืืืืจืื ืฉืื - ืืื ืืืื ืชืืื ืืช, ืืืื ืืื ื ืืืืืื ื'ืืืืื ืืืืืคืืฉ, ืืืคืืื ืืืืื ืืช ืืืืชืืจ ืืืืข.
ืืื ืืืืืืช ืืืงืื (ืื ืืืชืจ ื ืืื ืืืืกืจ ืืืืืื) ืื ืืฉ ืืืืจ, ืืืื ืืคืจืืืืช ืืืฉืืืื ืฉืื ื ืืืงืืืืช ืขื ืืืืืข ืฉื ืฉืืจ ืขืืื ื.
ืืฉืืื ืืืืื ืฉื ืืงืื ืืื ืืืืืื ืืขื ืืช ืืืืคืื ืืืืจืืช ืฉืื ืืืืชื ืืงืื ืฉืืื ืืขื ืขืฉืจ ืฉื ืื ืื ืืืืขืื ืืืืืง ืืช ืื ืืคืจืืื ืขืืื (ื ืืื ืืืคื ื ืขืฉืจ ืฉื ืื). ืืืขืฉื ืื ืืืืขืื ืืช ืื ืืจืื ืืืชืจ ืืื ืืื ืฉืื ื ืืฆืืื ืืืืืจ ืืขืฆืื ืืืื ืืืื ืฉืขืืจ.
ืขื ื GDPR, ืืื ืืืื ืืืืฅ ืืืืจืืคื, ืืืืฉื ืืืืจืืช ืจืืืช ืื ืชืื ืื ืืื "ืืื ืฉืืืชืจ ืืืชืจ ืืื", ืืืืืฉื ืืฉืงืืคืืช ืืื "ืืื ืฉืคืืืช ืืืชืจ ืืื". ืื ืืืืจ ืฉืื ืืฉืืจื ืขืืื ืืื ืืืืข ืฉืื ืจืง ืืืืืื, ืืืกืคืจื ืื ืืื ืืขื ืืื ื ืฉืื ืจืง ืืืืืื. ืืื ืืฉืืื ืืืื ืฉืืื ืืื ื ืขืฉื ืืฉืื ืขื ืื ืืืืืข ืืื.
ืืื ืืขืืจ ืืืขืื ืฉื ืืคืจืืืืช, ืฉืืืจืช ืืื ืกืืฃ ื ืชืื ืื ืื ืฆื ืืื ืคืฉืื ืืืืื. ืืจืื ืืืชืจ ืืฉืชืื ืืืืจืืช ืืื ืืืงืืืืช ืืืืืช ืืืืงืืื ืืืจืืจืื -
1. ืื ืื ื ื ืฉืืืจ ืขืืื ื ืชืื ืื X, Y ื Z.
2. ืื ืชืื ืื ืืืฉืืจื ืืชืงืืคื ืฉื Y ืฉื ืื.
3. ืื ืื ื ื ืฉืชืืฉ ืื ืชืื ืื ืืื ืืืฉืชืคืจ ืืืืจืืงื M.
4. ืืชื ืืืื ืืืงืฉ ืฉื ืชืื ืื ืืกืืืืื ืืืืืงื ืืจื ืืงืืฉืืจ ืืื.
ืืงืคืื ืขื ืืจืืขืช ืืืืืื ืืฉืื ืื ื ืืืกืคืื ืืืืข ืขื ืืงืืืืช ืขืืืจืช ืืื ืืช ืืืจืืช ืืืืงืืืช ืืืชืจ ืืืงืืืืช ืืจืืฆืื ืืืชืจ.
1 419
# ืืื ืืขืื ืฉื ืืงืื
ืืืื ืืืื ื ืืืจ ืืืื ืฉืืืืืช ืืืงืื ืขื ืืืืืื ืืื ืคืืงืืืืืช. ืืขืจื ืืื ืื ืืืชืช ืืืงืื ืืืชืจ ืืงืื ืืืืกืื ืืื ืืืชืช ืืืงืื ืืจื ืืืชืจ ืืืื ืืืฆืื ืืช ืืืืจืื ืฉืื - ืืื ืืืื ืชืืื ืืช, ืืืื ืืื ื ืืืืืื ื'ืืืืื ืืืืืคืืฉ, ืืืคืืื ืืืืื ืืช ืืืืชืืจ ืืืืข.
ืืื ืืืืืืช ืืืงืื (ืื ืืืชืจ ื ืืื ืืืืกืจ ืืืืืื) ืื ืืฉ ืืืืจ, ืืืื ืืคืจืืืืช ืืืฉืืืื ืฉืื ื ืืืงืืืืช ืขื ืืืืืข ืฉื ืฉืืจ ืขืืื ื.
ืืฉืืื ืืืืื ืฉื ืืงืื ืืื ืืืืืื ืืขื ืืช ืืืืคืื ืืืืจืืช ืฉืื ืืืืชื ืืงืื ืฉืืื ืืขื ืขืฉืจ ืฉื ืื ืื ืืืืขืื ืืืืืง ืืช ืื ืืคืจืืื ืขืืื (ื ืืื ืืืคื ื ืขืฉืจ ืฉื ืื). ืืืขืฉื ืื ืืืืขืื ืืช ืื ืืจืื ืืืชืจ ืืื ืืื ืฉืื ื ืืฆืืื ืืืืืจ ืืขืฆืื ืืืื ืืืื ืฉืขืืจ.
ืขื ื GDPR, ืืื ืืืื ืืืืฅ ืืืืจืืคื, ืืืืฉื ืืืืจืืช ืจืืืช ืื ืชืื ืื ืืื "ืืื ืฉืืืชืจ ืืืชืจ ืืื", ืืืืืฉื ืืฉืงืืคืืช ืืื "ืืื ืฉืคืืืช ืืืชืจ ืืื". ืื ืืืืจ ืฉืื ืืฉืืจื ืขืืื ืืื ืืืืข ืฉืื ืจืง ืืืืืื, ืืืกืคืจื ืื ืืื ืืขื ืืื ื ืฉืื ืจืง ืืืืืื. ืืื ืืฉืืื ืืืื ืฉืืื ืืื ื ืขืฉื ืืฉืื ืขื ืื ืืืืืข ืืื.
ืืื ืืขืืจ ืืืขืื ืฉื ืืคืจืืืืช, ืฉืืืจืช ืืื ืกืืฃ ื ืชืื ืื ืื ืฆื ืืื ืคืฉืื ืืืืื. ืืจืื ืืืชืจ ืืฉืชืื ืืืืจืืช ืืื ืืืงืืืืช ืืืืืช ืืืืงืืื ืืืจืืจืื -
1. ืื ืื ื ื ืฉืืืจ ืขืืื ื ืชืื ืื X, Y ื Z.
2. ืื ืชืื ืื ืืืฉืืจื ืืชืงืืคื ืฉื Y ืฉื ืื.
3. ืื ืื ื ื ืฉืชืืฉ ืื ืชืื ืื ืืื ืืืฉืชืคืจ ืืืืจืืงื M.
4. ืืชื ืืืื ืืืงืฉ ืฉื ืชืื ืื ืืกืืืืื ืืืืืงื ืืจื ืืงืืฉืืจ ืืื.
ืืงืคืื ืขื ืืจืืขืช ืืืืืื ืืฉืื ืื ื ืืืกืคืื ืืืืข ืขื ืืงืืืืช ืขืืืจืช ืืื ืืช ืืืจืืช ืืืืงืืืช ืืืชืจ ืืืงืืืืช ืืจืืฆืื ืืืชืจ.
1 419
# ืคืืชืจืื ืืช ืคืฉืืืื, ืคืืชืจืื ืืช ืืกืืืืื ืืงืืคืืื
ืขืืืชื ืื ืืืื ืขื ืงืืืฆืช ืคืืชืื ืฉื ืืืชืื ืชืื ืืืชืืื ืืจืื ืืืฉืืืื ืื ืงืื ืื, ืืืื ื React ืื ืืื ืขืืฉื ืืฉืื ืงืฆืช ืืืจ. ืื ืคืขื ืฉืืืฉืื ืฆืจืื ืืืชืืื ืืืฉืืืื ืืืฉ (ืงืืจื ืืืกืืช ืืขืชืื ืงืจืืืืช) ืืื ืื ืืื ืืคืขืืืื create-react-app ืืืขืชืืงืื ืืื ืฉืืจืืช ืฉื ืงืื ืชืื ืืช ืืืืฉืืืื ืงืืื ืืืจ ืืื ืืืกืืคืื ืงืฆืช ืืฉืืื ืืื ืืืื ืื ืืขืืื.
ืืื ืืฆืขืชื ืืื ืื ืกืืช ืืืฆืืจ ืืขืฆืื ืชืื ืืช ื create-react-app ืฉืชืืืื ืืช ืงืื ืืชืื ืืช ืฉืื ืฆืจืืืื. ืืืจื ืืืืงื ืืกืชืืจ ืฉืืฉ ืืื ืืืจืื ืฉืื ืฆืจืืืื ืฉืชืื ืืช ืฉื create-react-app ืื ืืืฉ ืืืืื ืืชืช, ืืืฉืืื ืืื ืืช ืื ืื ืื ืืื ืื ืืฆืืจืื ืขืืฉืื ืืขืฉืืช ืืชืืื ืืกืงืจืืคืืื ืฉื cra ืื ืืืืกืืฃ ืขืื ืื ืื ืื ืื ืื ืจืืื ืืฉืืื - ืืืงืืฆืืจ ืกืืคืืจ. ืื ืืืจื ืฉืื ืกื, ืื ื ืืืจืชื ืืขืืืจ ืืื ืืืืจ ืฉืืฉืืืื ืืืชื ืื ืคืจืื ื ืืฉืืื.
ืืื ืืืืฉืื ืืืจื ืื ื ืชืงืืชื ืืื ืฉืื - ื ื, ืฉืืืชื, "ืืื ืืื ืขื ืืืชืืื ืฉื create-react-app?", ืืืชืฉืืื ืืืชื ืงืฆืช ืืคืชืืขื. ืืืืง ืืฆืคืื ืืื ืฉืื ืืืืช ื ืืกื ืืช ืืจืขืืื ืฉืื ืืขืฉืืช ืืชืืื ืฉื cra ืืฆืจืืื ืฉืืื ืืืืชืจื ืขื ืื ืื ืืืจ. ืืขืกืง ืืื ืืกืืื ืืื ืืชืืื ืืื ืืืจืื ืืฉืืืื ืืืชืจ ืืขืฉืืช. ืืจืืจ ืฉืื ืืืื ืคืืชืจืื ืื ืื ืืื ืขืืื, ืืื ืืื ืืืจืฉ ืืืชืจ ืืื ืขืืืื.
ืืืืง ืืืคืชืืข ืืื ืฉืืืงืื ืืืืื ืก ืืงืืคืืื ืืืืืฉืื ืืืขืชืืง ืืื ืงืืขืื ืืืืฉืืืื ืืืืฉืืืื, ืืืฉืื ืฉื ืืืืื ืืืจืืืช ืฉืืื ืืืืข ืืืชืจ ืืื ืืืชื ืกืงืจืืคื ืคืฉืื ืฉืืื ื ืืืฉืืืื ืืืฉ. ืืื ืืื ืืช ืื ืืืืืืืช ืืื ืจืืืช ืฉื create-react-app, ืืื ืื ืืืืฆืจ ืืื ืืืืืง ืืช ืืชืื ืืช ืฉืื ืฆืจืืืื ืืืชืืืฉืง ืืืืืง ืืื ืื ืื ืื ืฉืืฉ ืืฆืื ืืงืืืฆื. ืืืืื ืืก ืืื ืฉืืชืืืช ืื ืืขืกืง ืืงืื ืฉืขืชืืื ืืืงืื ืฉืืืขืืช.
ืืชืื ืืื ืฉืื ื ืืงืฉืื ืืกืืคืืจ ืืจืืื ืืื ืืกืงืจืืคื ืืืืื ืคืฉืื ืืกืคืฆืืคื ืืื ืคืชืจ ืืื ืืขืื ืืืืชืืช, ืืฉ ืื ืงืื ืืื ืืชืื ืืจืืฉ ืฉืฆืืขืง "ืื, ืื ืื ืืคืืชืจืื ืื ืืื, ืื ืื ืืกืคืืง ืื ืจื, ืื ืื ืชืฆืืจืื ..."
ืืื ืื ืื ืืื ืฆืจืืืื.
ืืืงืื ืืื ืฉืจืืฆื ืืช ืืคืืชืจืื ืืื ืืกืืื, ืืื ืื ืจื ืืืื ื ืืื ืืื ืืคืขืืื ืืงืื ืฉืืืืื ืืืชื ื ืืงืืคืืื - ืืืื ืฉืื ืื ื ืืืืื ืฉืืืื ืืื ืืืืฉ ืืช ืืคืืชืจืื ืืื ื ืืื. ืืืฆื ืืื ืืื ืืคืฉืจ, ืคืืชืจืื ืืื ืืื ืงืฆืจ ืืกืคืฆืืคื ืืืื ืืืืืช ืืืืืง ืืจืืงืช ืืืจืฅ ืฉืืืื ื ืฆืจืืืื.
1 419
# ืืืฉ ืชืฉืืืืช ืืืชืจ ืืืืืช ื"ื ืจืื ืืืื"
ืืฉืืช ืืกืืืืช ืขืืืื ืืืืงืืื (ืจืืฉ ืฆืืืช, ืืฉืชืืฉืช, ืื ืืืช ืืืฆืจ, ืื ืฉืื ืชืืื ืืืงืืื) ืืืืจืช "ื ืจืื ืืืื" ืื ืืฉืื ืฉื ืืชื ืืจืืฉื ืืืื ืืืืชื ืจืืข, ืืื ืืืืจื ืืื ื"ื ืจืื ืืืื" ืืื ืืืืื ืืงืืคืืื. ืืชืื ืชืื ืืืชืื ืชืืช ืฉืจืืฆืื ืืืืื ืืขืฉื ืืื ืื ืืฆืื ืืืืืจ ืื ืืืืช ืืื ืกื ืืืฉืื ืคืืืืง ืืืชืจ ืืขื ืืื, ืืืฉื:
1. ืืชื ืืกืคืงืช ืืขืฉืืช ืืช ืื ืืจืืคืงืืืจืื ื ืืื?
2. ืืฉืืื ืื ืืืืช ืฆืจืืื ืืืขืช ืืืืืื ืืืื - ืืื ืขืื ืืขืืื ืงืืื
3. ืืืื ืืื ืืื ื ืืขื ืื ืื ืืืจ!
4. ืืื ืืงื ืื ืื ืืจืื ืืื ืืื ืืช ืืื ืคืืฆ'ืจ ืคืฉืื? ืื ืื ื ืื ืฆืจืืืื ืืช ืื ืืืืืงืืช ืืืื ืืฉืืื ืื ืืฉ QA
5. ืืชืืขืื ื ืจืื ืืขืืื
ืืื ืงื ืืจืืืช ืฉืื ืื ืืชืฉืืืืช ืคื ืืืืืืืช. ืื ืฉืื ืกื ืืขืฉืืช ืขืืืื ืืขืืื ืื ืืคืฉื ืืืชืจ, ืืืคืขืืื ืืืขืืื ืืืื ืขื ืืฉืืื ื"ืืื ืืืื". ืืื ืงื ืืจืืืช (ืืืืื ืงืฆืช ืืืืก) ืฉืจืื ืืืงืืืืช ืฉื ืืืข ืืืืื ืื ืืืคืฉืื ืจืื ืืงืฆืืขืืช ืืื ืฉืืืชืจ ืืืืื ืืื ืืืืื ืื ืื ืงืืืช ืืืืื ืืกืืืืช - ืื ืืืชืจ ืืืื ืืื ื ืื ืืืจ ืื ืืฉืชืื ืขืกืงืืช.
ืืืฉืืง ืฉืื ื ืืงืจืืืจื ืืื ืชืืื ืืืฆืื ืืช ืืืงืื ืฉืืขืืืจ ืื ืืืฉืชืคืจ ืืืืจืืงื ืืกืืืืช, ืืืฉืื ืืกืืื ืืงืคืืฅ ืืืชืจ ืืืื ืืคืกืืง ืืืชืงืื ืืืืื ืืืชืื ืืืืคืฉ ืืช ืืืงืื ืืื. ืืจืื ืืงืืืืช ืืขืืืื ืืฉ ืืืจ ืืื "ืืื ืืืชืจ ืืื ืืื".
1 419
# ืกืืืืช (ืฉืฉืืขืชื ืืืงืจื) ืืืืืช ืขืฆืืื
- ืจืง ืืชืืจ ืขืฆืืื ืืฆืืืชื ืืขืืื ืืื ืฉืื ื ืจืืฆื ืืืืช
- ืืชืืจ ืฉืืืจ ืืืงืฆืืข ืฉืื ืืืืชื ืืจืืืื ืจืืข
- ืจืฆืืชื ืืืืืจ ืืืื ืคืจืืืงืืื ืื ื ืืืงื ืืขื ืื ืื ื ืขืืื
- ืจืฆืืชื ืืืืืจ ืขื ืืืื ืื ืฉืื ืื ื ืขืืื (ืืขื ืื ืื ื ืื ืขืืื)
- ื ืืืก ืื ืฉืื ื ืขืืฉื ืืช ืื ืืขืืืื ืืืืืก ืืืงื ืืช ืื ืืงืจืืื
- ืืืคืฉืชื ืืจื ืืืืืช ืืืชืจ ืืื ืขื ืืืืืื
- ืืืคืฉืชื ืืื ืกื ื ืืกืคืช
- ืชืืื ืืืืชื ืืืงืื ืขืกืง ืฉืืฆืืื ืืืืื
- ืืืื ืืืฉืคืื ืฉืื ืขืฆืืืืื
ืื ืืฉื ื ืื ืืกืืื ืื ืืกืืืืช ืฉืืื ืืื ืืฉืืชืืืชื, ืฉืืื ืืืืืจ ืฉืืืชืจ ืืืืืืฃ. ืืืืื ืืฉืชื ืื ืืื ืื ืื ื. ืืืคืขืืื ืืืืืืฃ ืืช ืืกืืคืืจ ืื ืืฆืขื ืืจืืฉืื ืืืฆืืจืช ืืฆืืืืช ืืืฉื.
1 419
"vhost": "/",
"durable": true,
"auto_delete": false,
"arguments": {
"x-queue-type": "classic"
}
}
],
"exchanges": [
{
"name": "loggers",
"vhost": "/",
"type": "fanout",
"durable": true,
"auto_delete": false,
"internal": false,
"arguments": {}
}
],
"bindings": [
{
"source": "loggers",
"vhost": "/",
"destination": "messages",
"destination_type": "queue",
"routing_key": "logmessage",
"arguments": {}
}
]
}
ืื ื ืฉืืืจ ืืช ืืงืืืฅ ืืชืืงืื ืืืฉื ืืืืื ืืืฆืจ ืงืืืฅ ืืฉื Dockerfile ืขื ืืชืืื ืืื:
FROM rabbitmq:3
COPY 20-load-my-definitions.conf /etc/rabbitmq/conf.d/
COPY definitions.json /etc/rabbitmq/
RUN chown rabbitmq:rabbitmq /etc/rabbitmq/definitions.json
ืื ืฉืืจ ืื ื ืจืง ืืืืกืืฃ ืขืื ืงืืืฅ ืืื - ืงืืืฅ ืืงืื ืคืืืืจืฆืื ืฉืืืขื ืืช ืืืืืจืืช ืื json. ื ืืกืืฃ ืืชืืงืื ืืช ืืงืืืฅ 20-load-my-definitions.conf ืขื ืืชืืื ืืื:
load_definitions = /etc/rabbitmq/definitions.json
ืืฉืื ืืงืืฆืื ืืืงืื ืื ื ืืืื ืืื ืืช ืืช ืืืืื' ืขื:
$ docker build . -t my-rabbitmq-example
ืืืจืืฅ ืขื:
$ docker run --rm -p 5672:5672 my-rabbitmq-example
ืขืืฉืื ืื ืื ื ืื ืกื ืืืชืืืจ ืขื ืงืื ืืืกืื ืืื:
channel = connection.create_channel
x = channel.fanout('loggers')
ืื ื ืืงืื ืฉืืืื. ืืืื ืฉื Exchange ืืืจ ืืืืืจ ืื ื ืืืื ืืฆืืื ืืืืืง ืืช ืืคืจืืืจืื ืฉืืืชื ื Exchange ืืืืืจ ืืื ืฉืืืื ืืขืืื ืืืชื. ืืชืืื ืืช ืฉืฉืืืืช ืืืืขืืช ืืื ืฆืจืืื ืืืฉืชื ืืช ืืืงืื ืฉืื ืืจืื ืื:
#!/usr/bin/env ruby
require 'bunny'
connection = Bunny.new
connection.start
channel = connection.create_channel
x = channel.fanout('loggers', durable: true)
loop do
x.publish("#{rand} - Hello World", routing_key: :logmessage)
sleep 1
end
connection.close
ืฉืืื ืื ืฉืืืืง ืืฆืืจืช ืืืืืืจืื ืืคืขื ืงืฆืจ ืืืชืจ ืืืืจืื ืจืง ืืฉืืจืช ืืืืืืจ ื Exchange ืืืชืืื. ืืช ืืงืฉืจ ืืื ืืชืืจ ื Exchange ืืืจ ืืฆืจื ื ืืฉืื ืืฆืืจืช ืฉืจืช ื RabbitMQ. ืืคืชื ืื ืืชืื logmessage ื ืืงื ืืฉืืจืืช ืืืืืืจืืช ืฉืืฆืจื ื ืืืื ืื ืืืช ืืืืื'.
ืื ืืฆื ืืืงืื ืืชืืื ืืช ืืืืื ืืืืชืจ ืขื ืืฆืืจืช ืืืืืืจ ืืื ืืชืืจ ื Exchange ืืืงืื ืืืงืื ื ืจืื ืื:
#!/usr/bin/env ruby
require 'bunny'
connection = Bunny.new
connection.start
channel = connection.create_channel
queue = channel.queue('messages', durable: true)
begin
puts ' [*] Waiting for messages. To exit press CTRL+C'
queue.subscribe(block: true) do |_delivery_info, _properties, body|
puts " [x] Received #{body}"
end
rescue Interrupt =>
connection.close
exit(0)
end
## ืืชื ื ืืืจ ืืื ืฉืืื
ืืืืจืืช ืขื ืฉืชื ืืืืฉืืช ืืืืืจืช ืฉืจืช RabbitMQ ืขืืืจืช ืื ื ืืืืืจ ืืช ืฉืืืช ืืขืืืื ืฉืืชืืืื ืื ื ืืื ืืฆื:
1. ืืฉืืฉ ืื ืืขื ืชืืื ืืืช ืฉืืฉืชืืฉืืช ื RabbitMQ, ืืฉืืฉ ืืขื ืืืืืจืื ืืืฉืืืชื ืืชืื ืชืื ืขืืืืื ืขื ืืงืื ืฉื ืื ืืชืืื ืืืช (ืฉืืชืืืืช ืืืืชื ืฉืคืช ืชืื ืืช) - ืืืื ืื ืืืชืจ ืงื ืืืฉืชืืฉ ืืืืฉื ืืจืืฉืื ื. ืื ื ืืืชืื ืืช ืงืื ืืืืืืจ ื RabbitMQ ืืงืืืฅ ืืื ืืืืขื ืืืชื ืืื ืชืืื ืืช ืฉืฆืจืืื ืืืชืืืจ ืืืขืจืืช ืืืืืขืืช. ืืฉืฆืจืื ืืฉื ืืช ืืฉืื ืืืื ื ืืกืคืืง ืืฉื ืืช ืฉื ืืืืคืขืื ืืืืฉ ืืช ืืืขืจืืช.
2. ืืฉืืขืจืืช ืืืืืขืืช ืืฉืืฉืช ืืกืื ืืจืื ืืื ืืกืคืจ ืืขืจืืืช ืฉื ืืชืืืช ืขื ืืื ืืกืคืจ ืฆืืืชืื, ืืืื ืฉืืงืฉืจืื ืืื ืืชืืจืื ืืืื ืืกืืืืื ืืืชืจ, ืื ืืืื ืื ืืื ืืช ืืช ืื ืืืืืจืืช ืฉื RabbitMQ ืื ืคืจื ืืื ืืืืจืื ืืช ืืชืืื ืืืช ืืขืืื ืืคื ืืงืื ืคืืืืจืฆืื ืฉืขืืื ืืืืื ื. ืืชืื ืชืื ืืฆืืืชืื ืืฉืื ืื ืืืืืื ืืืืืช ืจืืืขืื ืฉืืืืจืืช ืืชืืจ ืื ืืฉืชื ื ืคืชืืื, ืื ืฉืื ืื ืืืืจืืช ืืื ืงืฉื ืืืชืจ ืืืืจืฉ ืื ืื ืืืืฉ ืฉื ืืืืื'.
ื .ื. ืื ืืชื ืืืืืื ืืช RabbitMQ ืืจืืฆืื ืืฉืืืข ืขืื ืจืขืืื ืืช ืืขืืืื ืืขืืื ืืืืฆืขืืชื, ืืืืื ืื ืืืืจืฉื ืืืืืื ืจ ืฉืืขืืืจ ืื ืืฉื ืืชืืืืช ืืืืืฉ ืืื ืืงืืฉืืจ:
https://www.tocode.co.il/workshops/1151 419
# ืฉืชื ืืจืืื ืืืืืืจ ืชืืจืื ื RabbitMQ
ืืขืจืืช ื ืืืื ืืชืืจืื RabbitMQ ืืฆืืขื ืื ื ืฉืชื ืืจืืื ืืจืืืืืช ืืื ืืืช ืงืื ืคืืืืจืฆืื. ืืืืจืื ืื ื ืื ื ืชืืื ืืืช ืคืฉืืืืช ืืฉืืืื ืืงืืืช ืืืืขืืช ืื ืจืื ืืื ืฉืชื ืืืจืืื ืืืืืจืช ืืชืืจืื ืืืชื ื ืจืฆื ืืืฉืชืืฉ ืืื ืฉืืื.
## ืื ืื ืื ื ืืื ืื
ืืืืืื ืฉืื ื ืืืื ืืืจืืืช ืืฉืชื ืชืืื ืืืช - ืืืช ืืืชืืช ืืืืขื ื RabbitMQ ืืืฉื ืื ืืงืืืช ืืืืขื ืืืืคืืกื ืืืชื ืืืกื. ืืื, ืืชืืื ืืืช ืืืื ืืืืืจืืช ื Fanout Exchange, ืื ืฉืืืืจ ืฉืื ืืืืขื ืฉื ืืชืืช ื ืฉืืืช ืืืืืืืืช ืืื ืืชืืื ืืืช ืฉืืงืฉืืืืช ืขื ืืชืืจ. ืืื ื ืื ืืืคืฉืจ ืื ืืืจืืฅ ืืกืคืจ ืขืืชืงืื ืฉื ืืชืืื ืืช ืืฉื ืื ืืืงืื ืืช ืืืืืขืืช ืืื ืขืืชืง. ืื ืืกืฃ ืืืื ืืขืชืื ืืืืกืืฃ ืขืื ืชืืื ืืืช ืฉืงืืจืืืช ืืื ืืืืื ืืขืฉืืช ืืืจืื ืืืจืื ืขื ืืืืืขืืช.
ืืื ื ืื ืืชืืื ืืืืืื ืืืขืจืืช ืืืืื ืืืืืจืช, ืฉื ืชืืืืืื ืืืกืืืื ืืืืื ืืืชืื ืืืืขืืช ืืื, ืืชืืืืืื ืืืจืื ืืืื ืืืจืืืื ืืืชืืืช ืืืืขืืช ืืืื ืืืขื ืฉืืื - ืืืฉื ืชืืืื ืืกืืื ืืืชืื ืืช ืื ืืืืืขืืช ืืงืืืฅ ืขื ืืืืกืง, ืชืืืื ืืืจ ืืืชืื ืืช ืืืืืขืืช ืืืืื ืืืกืืก ืื ืชืื ืื ืืืืจ ืืฉืื ืืช ืืืืืื ืืืืกืื ืืขื ื.
ืืืืง ืืงืื ืืฉืคืช ืจืืื ืฉืฉืืื ืืืืขืืช ืืชืืจ ื ืจืื ืื:
loop do
x.publish("#{rand} - Hello World")
sleep 1
end
ืืืืืง ืืงืื ืืฉืคืช ืจืืื ืฉืงืืจื ืืืชืืจ ืืืืคืืก ืืืืขืืช ืืืกื ืืื:
queue.subscribe(block: true) do |_delivery_info, _properties, body|
puts " [x] Received #{body}"
end
## ืืืืจืช ืืชืืจืื ืืชืื ืงืื ืืชืืื ืืช
ืืืฉื ืจืืฉืื ื ืืื ืืืช ืืืขืจืืช ืืื ืืืืืืจ ืืช ืืชืืจืื ืืชืื ืงืื ืืชืืื ืืช. ืืืืชืจืื ืืืืฉื ืื ืืื ืฉืืื ื ืืฆื ืืืงืื ืืื ืืื ืื ื (ืืืชืื ืชืื) ืืจืืืฉืื ืืฉืืืื ืขื ืืืขืจืืช. ืื ืฆืจืื ืืฉื ืืช ืืฉืื ืืกืคืืง ืืฉื ืืช ืจืง ืงืื. ืืงืื ืืืงืืช ืืชืืจืื ืืชืืื ืืช ืฉืฉืืืืช ืืืืขืืช ืืืื:
channel = connection.create_channel
queue = channel.queue('')
x = channel.fanout('loggers')
queue.bind(x)
ืืื ืืืื ืืืชื ื ืื ืืืืกืจืื ืืืืฉื - ืืช ืืืชื ืืงืื ืฉืืงืื ืืช ืืชืืจืื ืื ืื ื ืฆืจืืืื ืืืชืื ืืื ืืืช ืืืชืืื ืืืช ืฉืขืืืืืช ืขื RabbitMQ. ืืืืืจ ืื ืืชืืื ืืช ืฉืงืืจืืช ืืืืขืืช ื ืฆืืจื ืืืชืื ืืืืง ืืื:
channel = connection.create_channel
queue = channel.queue('')
x = channel.fanout('loggers')
queue.bind(x)
ืืื ืฉืืืชืจ ืชืืื ืืืช ืืขืืื ืขื ืืชืืจืื ืืืื ืฉืื ืืชืืืืช ืืืืชืจ ืฉืคืืช ืืืชืืืืงืืช ืขื ืืื ืฆืืืชืื ืฉืื ืื, ืื ืืืืจืช ืืงืฉืจืื ืืื ืืชืืจืื ืืงืื ืืืคืืช ืคืืืช ืคืจืงืืืช. ืืื ืืืื ืืืชื ื ืืืืฉื ืืฉื ืื-
## ืืืืจืช ืืชืืจืื ืืชืื Docker Image
ืืจื ื ืืกืคืช ืืืืืืจ ืืช ืืชืืจืื ืืืงืฉืจืื ืืื ืืื ื RabbitMQ ืืื ืืื ืืช ืืืื' ืฉื ืจืืื ืฉืืชืืจืื ืืืจ ืืืืืจืื ืื. ืืื ืืฉ ืื ื ืงืฆืช ืืืชืจ ืขืืืื ืืืงืื ืืื ืืืื ืืืชืจ ืงื ืืกื ืืจื ืืื ืชืืื ืืืช ืฉืื ืืช.
ืื ื ืืืื ืืืฉืชืืฉ ื Management Plugin ืฉื RabbitMQ ืืฉืืื ืืืืืืจ ืืช ืืชืืจืื ืืืงืฉืจืื ืืื ืืื ืืจื ืืืฉืง ืืจืคื. ืื ื ืืจืืฅ ืฉืจืช RabbitMQ ืฉืคืืืืื ืื ืืืื ืฉืื ืืืคืขื ืขื ืืืงืจ ืืืืฆืขืืช ืืคืงืืื:
$ docker run --rm -p 5672:5672 -p 15672:15672 rabbitmq:3-management
ืขืืฉืื ืื ื ืืืื ืืืืื ืก ืืืืฉืง ืื ืืืื ืืจื ืืืคืืคื ืืืชืืืช:
localhost:15672
ืืชืืืจืืช ืขื ืืฉืชืืฉ ืืกืืกืื guest ื guest ืชืื ืืก ืืืชื ืืืกื ื ืืืื ืืชืืจืื. ืฉื ืื ื ืืืฆืข ืืช ืืคืขืืืืช ืืืืืช:
1. ืืืื Queues ืื ื ืืืฆืจ Queue ืืืฉ ืืงืืจื ืื messages.
2. ืืืื Exchanges ืื ื ืืืฆืจ Exchange ืืืฉ ืืกืื Fanout ืืงืืจื ืื loggers. ืืชืคืจืื bindings ืฉื ื Exchange ืื ื ืืืฆืจ Binding ืืืฉ, ืืืืจ ืืช ื Exchange ืืชืืจ ืฉืืฆืจืชื ืืืืืจ ืืชืืจ ืืคืชื ื ืืชืื ืืช ืืืืื logmessage.
3. ืืืื Overview ืื ื ืืืืจ ืืืคืฉืจืืช Export definitions ืืืืืฅ ืขื ืืคืชืืจ Download broker definitios.
ืื ื ืชื ืื ืงืืืฅ JSON ืฉื ืจืื ืื:
{
"rabbit_version": "3.9.15",
"rabbitmq_version": "3.9.15",
"product_name": "RabbitMQ",
"product_version": "3.9.15",
"users": [
{
"name": "guest",
"password_hash": "KpcShz9x5hNdr6gP7/4UAuZGM4hwt1HzI8ENYfnbBo5ZuyGG",
"hashing_algorithm": "rabbit_password_hashing_sha256",
"tags": [
"administrator"
],
"limits": {}
}
],
"vhosts": [
{
"name": "/"
}
],
"permissions": [
{
"user": "guest",
"vhost": "/",
"configure": ".*",
"write": ".*",
"read": ".*"
}
],
"topic_permissions": [],
"parameters": [],
"global_parameters": [
{
"name": "internal_cluster_id",
"value": "rabbitmq-cluster-id-aUEEtfFz1z464iTHnlF0yw"
}
],
"policies": [],
"queues": [
{
"name": "messages",1 419
# ืืื ืื ืขืื ืื ืืืืงืจ
ืชืืืืงื ืฉื ืงืื ืืื ืื ืจืง ืชืืงืื ืืืืื ืฉืืืจ ืืื ืื, ืืื ืืจืื ืคืขืืื ืชืืงืื ืืืืื ืืืฉืื ืฉื ืืฆืจืื ืื ืืขืืื ืื ืงืืืื. ืืคืขืืื ืื ืืืื ืืื ืืกืคืจืื ืฉืื ื ืชืืื ืื ืฉืืืจื ืืืชืืืงืื ืฉื ืืืชื ืกืคืจืื ืืืืฆืื ืืืจืกื ืืืฉื ืืขืืฉืื ืื ื ืฆืจืื ืืืฉืชืืจื ืืื ืืืชืืื ืืื. ืืคืขืืื ืืืช ืชืืื ืืืจืกื ืืืฉื ืฉื ืืขืจืืช ืืคืขืื ืื ืกืืืืช ืืจืฆื ืฉืืืจ ืื ืืืื ืื ืืืจืืฅ ืืช ืืงืื ืฉืืชืืชื.
ืงืื, ืืื ืืืฉืืจ ืืฉืืื, ืืชืงืืงื ืืฉืื ืืฉืชืืฉืื ืื. ืื ืื ืืฉ ืื ืืขืจืืช ืฉืื ื ื ืืืข ืื ืจืง ืคืขื ืืืฆื ืฉื ื ืืื ืืชืงื ืืฉืื ืงืื, ืืืชื ื ืืืขื ืขืืืื ืืขืืืช ืื ืืืจืืืืช ืื ืื ืืืื ืฉืื ื ืืคืืื ืืฆืืื ืืงืืคื ืืช ืืงืื ืืืืฉ.
ืืืืคืื ืืืืื ืขืืืจืื ืื ืืฉืืืจ ืืช ืจืื ืืคืจืืืงืืื ืฉืื ืืืฆื ืฉืืคืฉืจ ืืขืืื ืขืืืื. ืืื 100% ืืื ื ืกื ืืืืื ืื ืืขืืืจ ืื ืืื:
1. ืืืืืงื ืืืื ืช ืื ืื ื ืคืจืืช ืืื ืคืจืืืงื. ืฉืืื ืื ืฉืืืจื ืฉืืืจืื ืืขืจืืช ืืืคืขืื ืขื ืืืื ืช ืืื ืื ืืื ืขืืืื ืืฆืืืื ืืื ืืช ืืช ืืคืจืืืงื. (ืืื ืืช - ืืืืื ื ืืืคืื ืืช ืืคืจืืืงื ืืงืืฆื ืงืื ืืงืืจ ืืืฉืื ืฉืืงืื ืืืื ืืขืืื ืืืชื).
2. ืฉืืืจื ืืื ืคืจืืืงื ืกื ืืืืงืืช ืืืืืืืืืช ืืืืื ื ืฉืืืืื ืืืจืืฅ ืืืืงืืช ืืื.
3. ืืงืคืืื ืืืขืืืช ืืืจืกื ืคืขื ืืืื ืืืืฉืื, ืืคืืื ืื ืืื ืฉืื ืืืื, ืจืง ืืฉืืื ืืืืื ืฉืืื ืื ืื ืขืืืื ืขืืื.
4. ืื ืชืงืคืืื ืืฉืืจื ืืช ืืืื ืช ืืื ืื ืืืชืืืืืช ืืคืืืช ืคืขื ืืืื ืืืืฉืื, ืืชื ืชืจืื ืฉืืื ืคืขื ืืชื ืืงืืืื ืืื ืื ืืืืจืืช ืขื ืื ืฉืคืืฆ'ืจืื ืืกืืืืื ืฉืืฉืชืืฉืชื ืืื ืชืืฃ ืื ืืืชืืื. ืืื ืขืจื ืืื ืืืืืจืืช ืืื ืืขืืื ื ืืช ืืงืื ืืืชืื ืืืฉืืฉ ืืื ืืื.
5. ืืื ืืขืืืื ืื ืืฉืื ืืืื ืฉืงืืจืื ืืืื ืืืืืืืช ืืืชืืืืืช ืฉื ืืคืจืืืงื ืฉืืื. ืื ืืืืจ ืืืืจืฉื ืืงืืืช ืขืืืื ืื ืืื ืฉืืจืืช ืฆื ืฉืืืฉื ืื ืคืจืืืืืืจืง ืืืขืจืืช ืฉืืื.
ืืขืจืืืช ืืืืืืช ืืืคืกืืง ืืขืืื "ืคืชืืื" ืื ืื ืื ื ืืขืชื ืืืืื ืืื ืื ืื ืื ืืชื ืืืจืกื ืืืฉื. ืื ืงืืจื ืื ืืคืืคื ืืฉืชืืจื, ืื ืฉืืจืืช ืฆื ืฉืืืฉื ืฉืขืืืชื ืืืชื ื ืกืืจ ืื ืขืืื ืืช ื API, ืื ืืืงืื ืฉืืื ืขืืื ืืขืจืืช ืืคืขืื ืื ืืืืฃ ืกืืืืช ืืืจืืช. ืฉืืืจื ืขื ืขืืจื ืืช ืืืงืคืื ืขื ืฉืืืจืืืื ืืขืืืื ืื ืืืื ืืขืืจื ืืื ืืืืขืจืืืช ืฉืืื ืืืืฉืื ืืขืืื ืืืืจื ืืื.
1 419
# ืืื ืื ืขื ืืืืื
ืืืชืืืืืช ืขื ืืืืงืืช ืื ืื ื ืืืืืื ืืืฉืื ืขื ืืขืจื ืฉื ืืชืืืช ืืืืงืืช ืืชืืจ ืกืงืืื, ืืฉืืฆื ืืื ืชืืื ืื ืืขืจืืช ืขื ืืจืื ืืืืงืืช ืฉืืคืืชืื ืฉืื ืืืื ืืืชืจ ืืืื ืืื ืืืื ืื ืคืืืช ืืืืื, ืืืฆื ืืฉื ื ืคืืชืื "ื ืื ื'ื" ืืืืจ ืฉืชืื ืจืืข ื ืงืื ืืืฆืจ ืืื ืืืื ืืืื ืื ืืืืื ืื ืฆืคืืืื.
ืืื ืืืฆืืืืช ืื ืขืืืืช ืืื-
ืืฉ ืคืจืืืงืืื ืขื ืืืื ืืืืงืืช ืฉืขืืืื ืืืืืื ืืืื ืืืืื. ืืจืื ืืชืื ืชืื ืฉืขืืื ืขื ืคืจืืืงืืื ืืืื ืืกืคืจื ืืื ืฉืืืืงืืช ืื ืืื ืืืขื ืืกืจ ืขืจื.
ืืฉ ืคืจืืืงืืื ืขื ืืืืช ืืืื ืฉื ืืืืงืืช ืฉื ืืชืืื ืืืืชื ืงืฆื ืืืคืขืืื ืื ืืืชืจ ืืืจ ืืื ืคืจืืืงืืื ืืื ืืืืงืืช ืืืื.
ืืฉ ืคืจืืืงืืื ืืื ืืืืงืืช ืืืื ืฉืืืขื ืื ืืืืืื ืืืืื ืื ืืคืืืช ืื ืืืืืื ืืช ืืืืืื ืืืืืจืื ืืืื ืฉืงืฉื ืืืฆืื. ืื, ืืฉ ืืชืื ืชืื ืืขืืืื ืฉืื ืืืชืืื ืืืืงืืช ืืื ืื ืืืชืืื ืืืืื.
ืืืฉ ืื ืืขื ืคืจืืืงืืื ืฉืื ืืืืืื ืืืืงืืช ืืขืืืื ืื ืืฆืืืืื ืืืชืงืื ืื ืชืงืขืื ืขื ืฉืืืืืช.
ืืชืืืช ืืืืงืืช ืืื ืืืง ืืืจืื ืืืงืฆืืขืืช ืฉืื ื ืืืชืื ืชืื. ืืืืืช ืืืืืงืืช ืื ืื ื ืืจืื ืคืขืืื ืืืื ืื ืืื ืืืชืจ ืืช ืืงืื ืฉืื ืื ื ืืืชืืื. ืืืืืงืืช ื ืืชื ืืช ืื ื ืืงืื ืืืืจ ืขืืื ืืืืืืื ืืืขื ืืช ืขื ืฉืืืืช ืืฆืืจื ืืืืงืจืช.
ืืชืืืช ืืืืงืืช ืืื ืืืง ืืืจืื ืืืงืฆืืขืืช ืฉื ืืืืฆืจ. ืืื ืืืคืฉืจืช ืชืืขืื ืืืื ืืืชืจ ื wiki ืื ืืขืจืืช ืืงืื, ืชืืขืื ืื ืฉืืชืขืืื ืืื ืขื ืืืืฆืจ ืฉืื ื ืืขืืืจ ืืืืื ืฉืื ืื ื ืื ืืืืจืื ืขื ืืืชื ืืขืืืืช.
ืืืื ืฉืืืชืื ืชืื ืื ืื ื ืจืืืืื ืืืชืจ ืืืชืื ืืืืงืืช, ืืืื ืฉืืืืฆืจ ืฉืื ืื ื ืขืืืืื ืขืืื ืืืื ืชืฉืชืืช ืืืืงืืช ืืืื, ืื ืืชืืืช ืืืืืงืืช ืื ืืืื ืืช ืืคืืชืื ืืืคืืื ืืืืคื - ืืื ืืืคืฉืจืช ืื ื ืืฉืืืจ ืขื ืงืฆื ืืืืจ ืืืืจื ืืื.
Endi mavjud! Telegram Tadqiqoti 2025 โ yilning asosiy insaytlari 
