• 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. #u6D88u8D39u8005u6570u91CF
    8. spring.rabbitmq.listener.simple.concurrency= 10 消费者的数量 出队
    9. spring.rabbitmq.listener.simple.max-concurrency= 10
    10. #u6D88u8D39u8005u6BCFu6B21u4ECEu961Fu5217u83B7u53D6u7684u6D88u606Fu6570u91CF
    11. spring.rabbitmq.listener.simple.prefetch= 1 每次从队列中取1
    12. #u6D88u8D39u8005u81EAu52A8u542Fu52A8
    13. spring.rabbitmq.listener.simple.auto-startup=true
    14. #u6D88u8D39u5931u8D25uFF0Cu81EAu52A8u91CDu65B0u5165u961F
    15. spring.rabbitmq.listener.simple.default-requeue-rejected= true 消费失败后是否重新入队
    16. #u542Fu7528u53D1u9001u91CDu8BD5
    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 的性能,吞吐量不高。

  • 相关阅读:
    zipalign内存对齐优化
    反编译 waring...
    android.os.NetworkOnMainThreadException
    android:LayoutInflater
    Notification NotificationManager RemoteViews PendingIntent
    WebView WebViewClient WebChromeClient
    寒假1
    冻死可怕了
    一个人失眠
    军训快乐
  • 原文地址:https://www.cnblogs.com/jpfss/p/10313023.html
Copyright © 2020-2023  润新知