交換器和隊列的關系
1. 交換器是通過路由鍵和隊列綁定在一起的,如果消息擁有的“路由鍵”跟隊列和交換器的“路由鍵”匹配,那么消息就會被路由到該綁定的隊列當中去
2. 也就是說,消息到隊列的過程中,消息首先會經過交換器,接下來交換器再通過路由鍵匹配,分發消息到具體的隊列中去
3. 路由鍵可以就是為匹配的規則
RabbitMQ 為什么需要信道?為什么不是TCP直接通信?
1. TCP的創建和銷毀,開銷大,創建需要三次握手,銷毀需要四次分手
2. 如果不使用信道,那么引用程序就會使用TCP的方式連接到rabbitmq,高峰時每秒成千上萬條連接會造成資源的巨大浪費(一條tcp消耗資源,成千上萬的tcp會非常消耗資源),而且操作系統每秒處理TCP連接數量也是有限的,必定會造成性能瓶頸
3.信道的原理是一條線程一條信道,多條線程多條信道共同使用一條TCP連接。一條TCP連接可以容納無限的信道,及時每秒造成成千上萬的請求也不會造成性能瓶頸