exchange:接收訊息,並根據路由鍵**訊息所繫結的佇列。
生產者產生訊息,把訊息投遞到交換機上,並且根據路由鍵把訊息繫結到相對應的佇列上。消費者從佇列裡面取得訊息進行處理。
name:交換機名稱
type:交換機型別 direct、topic、fanout、headers
durability:是否持久化 true為持久化
auto delect:當最後乙個繫結到exchange上的佇列刪除後,自動刪除exchange
internal:當前exchange是否用於rabbitmq內部使用,預設false
arguments:擴充套件引數,用於擴充套件amqp協議自製定義化使用
所有傳送到direct exchange的訊息被**到routekey 中指定的queue,**訊息的direct exchange 的routekey必須和指定的queue中的一致,否則不能傳送到queue。direct模式可以使用rabbitmq自帶的exchange:default exchange,所以不需要講exchange進行任何的binding操作,訊息傳遞時,routekey必須完全一致才會被佇列接受,否則該訊息會被拋棄。
生產者
public static void main(string args) throws ioexception, timeoutexception
// 按順序關閉連線
channel.close();
connection.close();
} catch (ioexception e) catch (timeoutexception e)
}
消費者
public static void main(string args)
} catch (ioexception e) catch (timeoutexception e) catch (interruptedexception e)
}
所有傳送到topic exchange的訊息被**到所有關心的routingkey中指定的topic的queue上。
exchange 將routingkey和某個topic進行模糊匹配,此時佇列需要繫結乙個topic。
匹配符號:
#:匹配乙個或多個詞
*:匹配乙個詞 例:
test.# 可以匹配 test.info、test.info.1、test.info.2
test.* 只可以匹配 test.info、test.error
生產者
public static void main(string args) throws ioexception, timeoutexception catch (ioexception e) catch (timeoutexception e)
}
消費者
public static void main(string args)
} catch (ioexception e) catch (timeoutexception e) catch (interruptedexception e)
}
不處理任何路由鍵,直接將佇列繫結到交換機上。傳送到交換機的訊息都會被繫結到與該交換機繫結的佇列上。
生產者
public static void main(string args) throws ioexception, timeoutexception
// 按順序關閉連線
channel.close();
connection.close();
} catch (ioexception e) catch (timeoutexception e)
}
消費者
public static void main(string args)
} catch (ioexception e) catch (timeoutexception e) catch (interruptedexception e)
}
RabbitMQ(六)遠端連線
預設情況下,rabbitmq使用 guest 來連線本地 localhost 的server,當需要遠端連線時,就會失效。guest user can only connect via localhost 官方文件 如果必須使用 guest 使用者來進行遠端登入,需要修改配置 rabbitmqctl...
RabbitMQ(六)映象模式部署
一 伺服器資訊 2 集群資訊 三個節點 3 rabbitmq部署版本 3.7.16 二 部署 1 配置檔案 cat data rabbitmq.conf false listeners.tcp.default 5672default pass 12345678default user root ma...
Rabbitmq六大應用模式
1 簡單模式 helloworld 注釋 p 生產者 傳送資料 佇列 儲存資料 訊息緩衝器 c 消費者 獲取資料 生產者消費者均為應用程式。2 工作佇列 注釋 預設情況下,rabbitmq將按順序將每條訊息傳送給下乙個消費者。平均而言,每個消費者將獲得相同數量的訊息。這種分發訊息的方式稱為迴圈法。與...