RabbitMQ 為什么需要信道?為什么不是TCP直接通信?


 

交換器和隊列的關系

1. 交換器是通過路由鍵和隊列綁定在一起的,如果消息擁有的“路由鍵”跟隊列和交換器的“路由鍵”匹配,那么消息就會被路由到該綁定的隊列當中去

2. 也就是說,消息到隊列的過程中,消息首先會經過交換器,接下來交換器再通過路由鍵匹配,分發消息到具體的隊列中去

3. 路由鍵可以就是為匹配的規則 

 

RabbitMQ 為什么需要信道?為什么不是TCP直接通信?

1. TCP的創建和銷毀,開銷大,創建需要三次握手,銷毀需要四次分手

2. 如果不使用信道,那么引用程序就會使用TCP的方式連接到rabbitmq,高峰時每秒成千上萬條連接會造成資源的巨大浪費(一條tcp消耗資源,成千上萬的tcp會非常消耗資源),而且操作系統每秒處理TCP連接數量也是有限的,必定會造成性能瓶頸

3.信道的原理是一條線程一條信道,多條線程多條信道共同使用一條TCP連接。一條TCP連接可以容納無限的信道,及時每秒造成成千上萬的請求也不會造成性能瓶頸

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM