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

wordpress插件影响网站做外贸必须有网站吗

wordpress插件影响网站,做外贸必须有网站吗,王业美,php 网站开发模式RabbitMQ 发布确认模式 一、原理 RabbitMQ 的发布确认模式#xff08;Publisher Confirms#xff09;是一种机制#xff0c;用于确保消息在被 RabbitMQ 服务器成功接收后#xff0c;发布者能够获得确认。这一机制在高可用性和可靠性场景下尤为重要#xff0c;能够有效防止…RabbitMQ 发布确认模式 一、原理 RabbitMQ 的发布确认模式Publisher Confirms是一种机制用于确保消息在被 RabbitMQ 服务器成功接收后发布者能够获得确认。这一机制在高可用性和可靠性场景下尤为重要能够有效防止消息丢失。 在发布消息时RabbitMQ 会向发布者返回确认信号指示该消息已成功处理。这一过程可以大大提高消息传递的可靠性尤其是在系统出现故障时。通过实现发布确认模式发布者可以确保所有发送的消息都已被服务器接收并存储从而维护数据一致性。 二、三种方式比较 1. 单个确认 单个确认模式是指每发送一条消息发布者都会等待 RabbitMQ 发送确认信号。这种方式简单易懂但在高负载场景下性能表现可能较差因为每条消息都需要等待确认造成延迟。 优点 实现简单易于理解和使用。适合消息量较小的场景。 缺点 性能较低确认过程中的延迟会影响整体吞吐量。 public static void publishMessageIndividually() throws Exception {Channel channel RabbitMqUtils.getChannel();String queue_name UUID.randomUUID().toString();channel.queueDeclare(queue_name,false,false,false,null);//开始时间long begin System.currentTimeMillis();channel.confirmSelect();for (int i 0; i message_count; i) {String message i;channel.basicPublish(,queue_name,null,message.getBytes());//单个消息马上确认boolean flag channel.waitForConfirms();if(flag true){System.out.println(消息发送成功);}}//结束时间long end System.currentTimeMillis();System.out.println(发布message_count条用时(end - begin)mills);} 2. 批量确认 批量确认模式允许发布者在发送多条消息后一次性等待 RabbitMQ 的确认信号。通过将多条消息组合在一起进行确认可以显著提高消息发布的效率。 优点 显著提高吞吐量减少网络延迟。适合需要高性能的场景。 缺点 需要管理确认逻辑稍微复杂。 一旦发生错误可能需要重新发送整个批次的消息。 //批量发布确认public static void publishMessageBatch() throws Exception {Channel channel RabbitMqUtils.getChannel();String queue_name UUID.randomUUID().toString();channel.queueDeclare(queue_name,false,false,false,null);channel.confirmSelect();//开始时间long begin System.currentTimeMillis();//批量确认的长度int basicSize 100;for (int i 1; i message_count; i) {String message i;channel.basicPublish(,queue_name,null,message.getBytes());if(i%basicSize 0){System.out.println(消息发送成功);channel.confirmSelect();}}//结束时间long end System.currentTimeMillis();System.out.println(批量发布message_count条用时(end - begin)mills);}3. 异步批量确认 异步批量确认模式更进一步发布者在发送批量消息后不必等待 RabbitMQ 的确认信号而是可以继续发送更多消息。RabbitMQ 在后台处理确认这样可以进一步提高效率。 优点 最高的性能和吞吐量几乎没有延迟。发布者可以充分利用 CPU 和网络资源。 缺点 实现复杂度增加需要处理可能出现的消息丢失。需要额外的逻辑来确保消息的可靠性。 //异步发布确认public static void publishMessageAsync() throws Exception {Channel channel RabbitMqUtils.getChannel();String queue_name UUID.randomUUID().toString();channel.queueDeclare(queue_name,false,false,false,null);//开启发布确认channel.confirmSelect();/*** 线程安全有序的哈希表 适用于高并发* 1、将序号和消息关联* 2、轻松删除条目主要给到序号* 3、支持高并发*/ConcurrentSkipListMapLong, String outstandingConfirms new ConcurrentSkipListMap();//开始时间long begin System.currentTimeMillis();//消息确认成功的回调ConfirmCallback ackCallBack (deliveryTag, multiple)-{//2:删除确认的消息if(multiple){ConcurrentNavigableMapLong,String confirmed outstandingConfirms.headMap(deliveryTag);confirmed.clear();}else {outstandingConfirms.remove(deliveryTag);}System.out.println(确认消息deliveryTag);};/*** 1、消息类型* 2、是否批量*/ConfirmCallback NackCallBack (deliveryTag, multiple)-{//3:打印未确认的String message outstandingConfirms.get(deliveryTag);System.out.println(发布的消息message未被确认序列号deliveryTag);};//准备消息的监听器//1.监听成功的//2.监听失败的channel.addConfirmListener(ackCallBack,NackCallBack);for (int i 1; i message_count; i) {String message i;channel.basicPublish(,queue_name,null,message.getBytes());//1:此处记录所有要发送的消息outstandingConfirms.put(channel.getNextPublishSeqNo(),message);}//结束时间long end System.currentTimeMillis();System.out.println(批量发布message_count条用时(end - begin)mills);}三、速度对比 三种时间对比 在速度和吞吐量方面三种模式各有优势。一般来说单个确认模式的速度最慢而异步批量确认模式则能提供最佳性能。在实际应用中选择合适的确认模式应根据业务需求、消息量以及系统的可承受负载来综合考虑。 发布确认模式为 RabbitMQ 提供了灵活的消息发布保障机制。根据具体需求选择合适的确认方式将有助于实现高效、可靠的消息传递系统。
http://www.hkea.cn/news/14510453/

相关文章:

  • 做网站片头的软件html网页导航栏代码
  • 广东省住房建设厅网站6网站的建设 教学计划
  • 海口兼职网站建设有访问量的网站
  • 深圳微信商城网站设计公司免费推广网站怎么做
  • 站长工具爱情岛自己做网站的软件下载
  • 可拖拽网站台州椒江网站建设
  • 网站开发怎么赚钱织梦免费企业网站
  • 邵阳多用户商城网站建设太原网站备案现场核验
  • 如何做电商网站首页建筑业企业服务平台
  • 大港油田建设官方网站东莞网站建设营销的企业
  • 全国房地产网站长春网站建设公司哪家好
  • 体彩网站建设天津手网站开发
  • 网站建设 教学视频楼盘网官网
  • 网上怎么申请个人营业执照网站栏目结构优化
  • 网站建设费会计科目yw193can未满十8麻豆
  • 常州做网站公司哪家好装修家具
  • 建设官方网站企业网银登录青岛企业网站建设优化
  • 建设银行人力资源招聘网站wordpress dux推送代码
  • 网站建设培训招生我国外贸网站的建设
  • 二级域名分发网站源码公众号开发微网站开发
  • 药业集团网站建设方案外贸网站设计制作优化推广
  • 高新区网站建设的建议关键词优化排名软件流量词
  • 新网站多久被收录扫描购物网站建设
  • 自己怎么做团购网站做微景观的网站
  • 南通经济开发区城乡建设局网站程序员培训班课程
  • 已有网站做移动网站wordpress 有字库
  • 公司建设一个网站需要多少钱wordpress 目录表插件
  • 多语言版本网站免费企业网络推广网站
  • 上海加盟网站建设.net网站方案
  • 什么网站有高端定制案例wordpress钩子的意思