为什么需要信道channel ?
当应用有多个线程进行消息的生产或者消费时,如果没有信道,每个线程都会反复地进行TCP连接,而TCP连接对系统而言是很大的开销,容易达到性能的瓶颈。
而信道则是将TCP连接复用,每个线程把持一个信道,保证了线程之间的独立和安全性,也减少了系统的开销,信道和TCP连接之间的关系相当于光纤和电缆
在信息量不是很大的时候,复用同一个TCP连接可以有效地节省资源,但是如果信息量很大,则需要开辟多个TCP连接来均摊这些信道,具体的数量可以根据实际情况来进行设定
image.png
网友评论