'auto_delete' => true, // delete queue when server restart, otherwise will keep it even server restart
'callback' => console\components\ImportDataConsumer::class,
-- 单发布者, 消费者监听同组(如 msg) 队列,绑定routing_keys拿消息
'producers' => [
'import_data' => [
'connection' => 'default',
'exchange_options' => [
'name' => 'my-exchange',
'type' => 'direct',
],
],
],
'consumers' => [
'import_data' => [
'connection' => 'default',
'exchange_options' => [
'name' => 'my-exchange',
'type' => 'direct',
'passive' => false,
'declare' => true,
],
'queue_options' => [
'name' => 'msgs',
'routing_keys' => ['rk1', 'rk2'],
'declare' => true,
'auto_delete' => true, // delete queue when server restart, otherwise will keep it even server restart
],
'callback' => console\components\ImportDataConsumer::class,
],
],
-服务器端安装设置:
参考 http://www.rabbitmq.com/install-rpm.html
chkconfig rabbitmq-server on.
start and stop the server as usual
using /sbin/service rabbitmq-server stop / start /etc.
参考:
-
端口:
4369:epmd,RabbitMQ节点和CLI工具使用的对等发现服务
5672、5671:由不带TLS和带TLS的AMQP 0-9-1和1.0客户端使用
25672:用于节点间和CLI工具通信(Erlang分发服务器端口),并从动态范围分配(默认情况下限制为单个端口,计算为AMQP端口+ 20000)。除非确实需要这些端口上的外部连接(例如,群集使用联合身份验证或在子网外部的计算机上使用CLI工具),否则这些端口不应公开。有关详细信息,请参见网络指南。
35672-35682:由CLI工具(Erlang分发客户端端口)用于与节点进行通信,并从动态范围分配(通过服务器分发端口+ 10010计算为服务器分发端口+ 10000)。有关详细信息,请参见网络指南。
15672:HTTP API客户端,管理UI和Rabbitmqadmin (仅在启用管理插件的情况下)
61613、61614:不带TLS和带TLS的STOMP客户端(仅在启用STOMP插件的情况下)
1883、8883 :(不带和带有TLS的MQTT客户端,如果启用了MQTT插件
15674:STOMP-over-WebSockets客户端(仅在启用了Web STOMP插件的情况下)
15675:MQTT-over-WebSockets客户端(仅在启用Web MQTT插件的情况下)
15692:Prometheus指标(仅在启用Prometheus插件的情况下)