Rabbit MQ 面試題相關


項目中的MQ:


   
   
  
  
          
  1. #rabbitmq
  2. spring.rabbitmq.host= 127.0 .0 .1 主機
  3. spring.rabbitmq.port= 5672 端口
  4. spring.rabbitmq.username=guest 用戶名
  5. spring.rabbitmq.password=guest 密碼
  6. spring.rabbitmq. virtual-host=/
  7. #\u6D88\u8D39\u8005\u6570\u91CF
  8. spring.rabbitmq.listener.simple.concurrency= 10 消費者的數量 出隊
  9. spring.rabbitmq.listener.simple.max-concurrency= 10
  10. #\u6D88\u8D39\u8005\u6BCF\u6B21\u4ECE\u961F\u5217\u83B7\u53D6\u7684\u6D88\u606F\u6570\u91CF
  11. spring.rabbitmq.listener.simple.prefetch= 1 每次從隊列中取 1
  12. #\u6D88\u8D39\u8005\u81EA\u52A8\u542F\u52A8
  13. spring.rabbitmq.listener.simple. auto-startup= true
  14. #\u6D88\u8D39\u5931\u8D25\uFF0C\u81EA\u52A8\u91CD\u65B0\u5165\u961F
  15. spring.rabbitmq.listener.simple. default-requeue-rejected= true 消費失敗后是否重新入隊
  16. #\u542F\u7528\u53D1\u9001\u91CD\u8BD5
  17. spring.rabbitmq. template.retry.enabled= true
  18. spring.rabbitmq. template.retry.initial-interval= 1000
  19. spring.rabbitmq. template.retry.max-attempts= 3
  20. spring.rabbitmq. template.retry.max-interval= 10000
  21. spring.rabbitmq. template.retry.multiplier= 1.0

Rabbitmq 的隊列容量可以認為是無限的,根據內存有關。 可以設置隊列最大長度,當達到長度的時候,最先入隊的消息將被丟棄。

流量削峰一般在秒殺活動中應用廣泛 
場景:秒殺活動,一般會因為流量過大,導致應用掛掉,為了解決這個問題,一般在應用前端加入消息隊列。 
作用: 
1.可以控制活動人數,超過此一定閥值的訂單直接丟棄(我為什么秒殺一次都沒有成功過呢^^) ,先顯示一個排隊中,后端在處理,可能成功可能失敗。
2.可以緩解短時間的高流量壓垮應用(應用程序按自己的最大處理能力獲取訂單) 

 

為什么使用Rabbit mq?

1.Rabbit mq 是一個高級消息隊列,在分布式的場景下,擁有高性能。,對負載均衡也有很好的支持。

2.擁有持久化的機制,進程消息,隊列中的信息也可以保存下來。

3.實現消費者和生產者之間的解耦

4.對於高並發場景下,利用消息隊列可以使得同步訪問變為串行訪問達到一定量的限流,利於數據庫的操作。

5.可以使用消息隊列達到異步下單的效果,排隊中,后台進行邏輯下單。

AMQP,即Advanced Message Queuing Protocol,高級消息隊列協議,是應用層協議的一個開放標准,為面向消息的中間件設計。消息中間件主要用於組件之間的解耦,消息的發送者無需知道消息使用者的存在

1.1、rabbitMQ的優點(適用范圍)
1. 基於erlang語言開發具有高可用高並發的優點,適合集群服務器。
2. 健壯、穩定、易用、跨平台、支持多種語言、文檔齊全。
3. 有消息確認機制和持久化機制,可靠性高。
4. 開源
其他MQ的優勢:
1. Apache ActiveMQ曝光率最高,但是可能會丟消息。
2. ZeroMQ延遲很低、支持靈活拓撲,但是不支持消息持久化和崩潰恢復。

 

其他消息隊列,Kafka 定位是日志消息隊列。吞吐量最大。

相比阿里的Rocket MQ ,Rabbit MQ 是可靠性更強,對數據一致性、穩定性和可靠性要求很高的場景。

劣勢是Rabbit mQ 的性能,吞吐量不高。


免責聲明!

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



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