复制代码

为懒人提供无限可能,生命不息,code不止

人类感性的情绪,让我们知难行难
我思故我在
日拱一卒,功不唐捐
  • 首页
  • 前端
  • 后台
  • 数据库
  • 运维
  • 资源下载
  • 实用工具
  • 接口文档工具
  • 登录
  • 注册

其它

【原创】rabbitmq 消息中间件应用

作者: whooyun发表于: 2018-07-30 17:06

centos7.3 安装rabbitmq-server-3.7.7

rabbitmq的图形界面管理功能安装启用

业务背景:

商品审核系统,商品审核通过后,自动同步上架至电商系统进行销售

现有方案:
商品审核系统quartz 定时http post商品至电商系统

优化方案:
商品审核系统采用rabbitmq 消息中间件,定时生产商品上架消息,并将消息推送至rabbitmq server服务器,由消息消费者自动监听rabbitmq server服务器中对应队列的消息,获取到消息后,则进行上架处理。


目的(虽然现有方案能满足系统需求):
1、减少tomcat 应用的并发,因为amqp是异步
2、提高上架的效率,为什么能提高上架效率,因为amqp是基于一个长连接里存在多个信道,多个线程共享一个连接,但是每个线程拥有独自的信道

总结下就是为了:异步处理,应用解耦(虽然现有方案已解耦),流量缓冲

贴个图,自己画的,虽然丑


复习下http协议:

HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。
HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。
HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。
缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。