护肤品网站优化案例,北京建外贸网站公司,wordpress无法加载主题,南京企业网站开发公司消息队列介绍
MQ的优势 1.业务解耦#xff1a;不同系统消费信息互不关联#xff0c;灵活增减系统数量#xff0c;修改某个系统其他系统也不影响 2.异步提速#xff1a;不同系统之间可同时响应#xff0c;提升并发量 3.削峰填谷#xff1a;处理消息高峰期#xff0c;均摊…消息队列介绍
MQ的优势 1.业务解耦不同系统消费信息互不关联灵活增减系统数量修改某个系统其他系统也不影响 2.异步提速不同系统之间可同时响应提升并发量 3.削峰填谷处理消息高峰期均摊到后面处理保护系统的稳定性 MQ的不足 1.系统可用性降低系统引入的外部依赖越多系统稳定性越差 2.系统复杂度提高怎么保证消息没有被重复消费消息丢失消息传递的顺序性等问题 3.一致性问题MQ如何解决不同系统处理的一致性问题
MQ需要满足什么条件 1.生产者不需要获取反馈 2.容器短暂的不一致性 3.能够体现MQ的优势在系统中获得解耦提速削峰这些方面的收益
AMQP是一个消息队列协议是应用层协议的一个开放标准面向消息的中间件设计基于此协议的客户端和消息中间件可传递消息 RabbitMQ由Erlang语言开发 rabbitmq相关概念 Broker接受和分发消息的应用rabbitmq server就是message broker virtual host用户空间每个用户可在自己的vhost创建exchange/queue等 Connectionpublisher/consumer和broker之间的tcp连接 channel作为轻量级的connection极大减少操作系统建立tcp connection的开销 exchangemessage到达broker的第一站根据分发规则查询表中的routing key分发消息到queue中常用类型有directpoint-to-pointtopicpublish-subscribeand fanoutmulticast 多路传播 queue消息最终被送到这里等待被consumer取走 bindingexchange和queue之间的虚拟连接binding中可以包含routing keybinding信息被保存到exchange中查询表中用于message的分发依据
rabbitmq提供的六种工作模式简单模式work queuespublish/subscribe发布订阅模式routing路由模式topics主题模式rpc远程调用模式不常用 jmsjava消息服务应用程序接口是一个Java平台中关于消息中间件的api
rabbitmq安装
安装亲测有效
rabbitmq简单实现
简单实现 基本实现
rabbitmq工作模式
工作模式就是不同的消息分发方式 1.hello world 模式就是生产消费者模式
2.work queues工作队列模式
多个消费端共同消费一个队列中的消息常用于对于任务过重或任务过多情况使用工作队列可以提高任务处理的速度各个消费端之间是竞争关系存在负载均衡和公平模式 3.pub/sub订阅模式 在订阅模式中多了一个exchange交换机的角色 p生产者c消费者queue消息队列exchange交换机X 交换机负责将某个消息交给某个队列或者某些队列这取决于exchange的类型 fanout广播direct定向topic通配符 exchange只负责转发消息不具备存储消息的能力因此没有任何队列与exchange绑定或者符合路由规则的队列时时消息就会丢失 4.routing路由工作模式
队列与交换机的绑定不能是任意绑定了而是要指定一个routing路由key 消息发送方在exchange发送消息时必须指定消息的routingkey exchange不再是把消息交给每一个绑定的队列而是根据消息的routingkey进行判断只有队列的routingkey与消息的routingkey完全一致时才会收到消息 5.topics通配符模式
表示一个单词#表示一个或零个单词
springboot整合rabbitmq
参考步骤亲测有效