消息队列面试题整理
RabbitMQ为什么要使用channel,而不是TCP直接连接?
1.TCP连接的建立和销毁,开销比较大;
2.如果使用TCP直连,那么高峰期,会与RabbitMQ服务器建立大量的TCP连接,资源的开销会特别高;
3.channel的原理是:一个线程使用一个channel,多个线程也就是多个channel,而这多个channel使用同一个TCP连接,这样可以节省一定资源,避免建立大量TCP连接;另外,一个TCP连接可以有成千上万个信道,大量的请求(其实是只有一个TCP连接),不会存在性能瓶颈。
问什么要使用消息队列(使用场景)?
1.流量削锋;
2.解耦;
3.同步变异步;
各种MQ的优缺点?区别?
1.
怎么保证MQ的高可用
怎么保证消息不被重复消费
如需转载,请注明文章出处,谢谢!!!
浙公网安备 33010602011771号