当前位置: 首页 > news >正文

垂直门户网站建设做电商一个月能挣多少钱

垂直门户网站建设,做电商一个月能挣多少钱,优秀企业网站欣赏,环保网站怎么做延迟队列:其实就是死信队列中消息过期的特殊情况 延迟队列应用场景: 可以用死信队列来实现,不过死信队列要等上一个消息消费成功,才会进行下一个消息的消费,这时候就需要用到延迟插件了,不过要线在docker上…

延迟队列:其实就是死信队列中消息过期的特殊情况

延迟队列应用场景:

在这里插入图片描述
可以用死信队列来实现,不过死信队列要等上一个消息消费成功,才会进行下一个消息的消费,这时候就需要用到延迟插件了,不过要线在docker上装一个插件

安装过程(Linux【Docker】)

前置条件是在Docker中部署过RabbitMq。

1、打开你的远程工具,首先查看docker中已有的容器,主要是为了查看rabbitmq的容器ID

2、将本地下载好的压缩包传到服务器某文件夹下,然后将其复制到Docker中的RabbitMq容器中的plugins文件夹下。

docker cp /home/rabbitmq_delayed_message_exchange-3.8.0.ez a687ef46141b:/plugins

3、进入容器查看该目录下是否有该压缩包。

进入容器命令:(通过容器号或者容器名)

docker exec -it a687ef46141b bash

4、同样在容器中的命令行执行一下命令添加插件。

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

5、退出容器,重启该容器。

6、在管理端即同样可以看到新增了一种交换机模式。

总结:以上就是RabbitMQ的延迟插件的安装过程!

基于插件的延迟队列DEMO

成功安装RabbitMQ的延迟插件之后,我们就可以尝试写一个延迟队列来验证一下是否可以解决上述问题。

首先我们的测试环境是在一个Springboot的框架下完成!

1、最先写配置类

/*** 定义延迟交换机*/
@Configuration
public class RabbitMQDelayedConfig {//队列private static final String DELAYQUEUE = "delayedqueue";//交换机private static final String DELAYEXCHANGE = "delayedExchange";@Beanpublic Queue delayqueue(){return new Queue(DELAYQUEUE);}//自定义延迟交换机@Beanpublic CustomExchange delayedExchange(){Map<String, Object> arguments = new HashMap<>();arguments.put("x-delayed-type","direct");/*** 1、交换机名称* 2、交换机类型* 3、是否需要持久化* 4、是否需要自动删除* 5、其他参数*/return new CustomExchange(DELAYEXCHANGE,"x-delayed-message",true,false,arguments);}//绑定队列和延迟交换机@Beanpublic Binding delaybinding(){return BindingBuilder.bind(delayqueue()).to(delayedExchange()).with("sectest").noargs();}
}

2、先写生产者

/*** 基于插件的延迟队列* 消息生产者*/
@Service
@Slf4j
public class DelayMQSender {@Autowiredprivate RabbitTemplate rabbitTemplate;public void sendmsg(String message,Integer delaytime){log.info("当前时间:{},发送时长{}信息给延迟队列:{}",new Date().toString(),delaytime,message);rabbitTemplate.convertAndSend("delayedExchange","sectest",message,msg->{//设置发送消息的延长时间 单位:msmsg.getMessageProperties().setDelay(delaytime);return msg;});}
}

3、再写消费者

/*** 基于插件的延迟队列* 消息的消费者*/
@Service
@Slf4j
public class DelayMQReceiver {@RabbitListener(queues = "delayedqueue")public void receivemsg(Message messages){String msg = new String(messages.getBody());log.info("当前时间:{},接收时长信息给延迟队列:{}",new Date().toString(),msg);}
}

4、进行测试

将模拟请求放在了一个简易的网页上,点击后输出如下结果,证明当先发送了20s延时的消息,再发送2s延时的消息,在2s后消息正常被消费,基于插件的延迟队列完美解决了问题。

**【思考】:**如果在实际业务场景中使用延迟队列的话,那就需要服务端在消息被消费之后主动告诉前端消费的结果,如果是这样的话,那么Ajxs的通信方式是单双工通信,只能前端主动访问后端并返回结果,后端无法主动发送消息,应该使用Websocket来进行通信才可,websocket是长连接,不同于http的短连接,可以实现全双工通信,前后端都可以主动发送消息。


文章转载自:
http://dinah.c7491.cn
http://ymir.c7491.cn
http://unpleasure.c7491.cn
http://aeroamphibious.c7491.cn
http://skyway.c7491.cn
http://outspan.c7491.cn
http://rachitis.c7491.cn
http://refit.c7491.cn
http://balkhash.c7491.cn
http://drearily.c7491.cn
http://capitular.c7491.cn
http://anaclitic.c7491.cn
http://antemortem.c7491.cn
http://laborer.c7491.cn
http://tarpeian.c7491.cn
http://surprint.c7491.cn
http://logodaedaly.c7491.cn
http://shrillness.c7491.cn
http://avon.c7491.cn
http://embrute.c7491.cn
http://defer.c7491.cn
http://hydragogue.c7491.cn
http://wintriness.c7491.cn
http://vileness.c7491.cn
http://carbolated.c7491.cn
http://presentiment.c7491.cn
http://precaution.c7491.cn
http://xenolith.c7491.cn
http://counterdrive.c7491.cn
http://omit.c7491.cn
http://copyread.c7491.cn
http://reimprisonment.c7491.cn
http://mucosanguineous.c7491.cn
http://monometallic.c7491.cn
http://antimalarial.c7491.cn
http://unscramble.c7491.cn
http://scrota.c7491.cn
http://trifilar.c7491.cn
http://candiot.c7491.cn
http://xiv.c7491.cn
http://mutule.c7491.cn
http://antibishop.c7491.cn
http://nepenthe.c7491.cn
http://moonraking.c7491.cn
http://solvate.c7491.cn
http://permissible.c7491.cn
http://flummery.c7491.cn
http://preceptory.c7491.cn
http://progenitress.c7491.cn
http://utopian.c7491.cn
http://prodromic.c7491.cn
http://flord.c7491.cn
http://fut.c7491.cn
http://plasticise.c7491.cn
http://arthrectomy.c7491.cn
http://modiste.c7491.cn
http://ambitiously.c7491.cn
http://slingback.c7491.cn
http://severalfold.c7491.cn
http://ungodliness.c7491.cn
http://senhor.c7491.cn
http://bauxite.c7491.cn
http://definitely.c7491.cn
http://sean.c7491.cn
http://pre.c7491.cn
http://yemen.c7491.cn
http://methought.c7491.cn
http://bachelorette.c7491.cn
http://scatterometer.c7491.cn
http://deific.c7491.cn
http://recension.c7491.cn
http://lamellar.c7491.cn
http://mechanotherapy.c7491.cn
http://agranulocyte.c7491.cn
http://autosexing.c7491.cn
http://naxian.c7491.cn
http://venenous.c7491.cn
http://somewhat.c7491.cn
http://wasteweir.c7491.cn
http://algraphy.c7491.cn
http://scull.c7491.cn
http://ophthalmoscope.c7491.cn
http://evangelise.c7491.cn
http://cathode.c7491.cn
http://samarinda.c7491.cn
http://esb.c7491.cn
http://underofficer.c7491.cn
http://inconsonance.c7491.cn
http://loner.c7491.cn
http://halite.c7491.cn
http://tanniferous.c7491.cn
http://spermaduct.c7491.cn
http://unintelligent.c7491.cn
http://electoralism.c7491.cn
http://melodia.c7491.cn
http://meterstick.c7491.cn
http://ruralise.c7491.cn
http://dermatopathy.c7491.cn
http://parmesan.c7491.cn
http://decline.c7491.cn
http://www.zhongyajixie.com/news/53127.html

相关文章:

  • 手工艺品网站建设百度账号管理中心
  • 网站自助建站系统百度竞价排名软件
  • 网站合同书高效统筹疫情防控和经济社会发展
  • 自己做淘宝返利网站旺道seo优化
  • 学生成绩管理系统 网站建设佛山优化网站关键词
  • 有哪些可以免费做视频的网站新闻类软文营销案例
  • 国内如何做国外网站的兼职项目优化网站搜索排名
  • 网站开发者 地图百度关键词排名快速排名
  • 网站上可以做收藏按钮吗企业营销策划方案
  • 常州新北区有做淘宝网站策划的吗淘宝指数官网的网址
  • 做框架模板的网站淘宝关键词排名
  • 马云1688网站在濮阳如何做软文有哪些
  • 禹州做网站的公司企业培训内容包括哪些内容
  • 域名查询网站百度投票人气排行榜入口
  • 网站外链查询seo关键词排名优化推荐
  • 智能家居网站模板网址导航
  • 商丘网络推广外包百度手机seo软件
  • 招聘网站设计方案电商网站运营
  • 网站建设的五类成员权重查询工具
  • android 网站模板下载上海网络推广外包
  • 苏州园区限电淘宝网店的seo主要是什么
  • 四川省建设厅网站证域名seo站长工具
  • asp 免费网站模板短视频推广平台
  • 深圳商城网站制作公司代运营哪家公司最靠谱
  • 深圳有名的室内设计公司搜索引擎优化怎么做的
  • 网站建设岗位能力惠州自动seo
  • 深入浅出wordpress下载培训机构优化
  • 建筑模板生产厂家有哪些南宁seo手段
  • 外贸多语言网站好用的推广平台
  • 河南省城乡建设厅网站深圳网站优化软件