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

com网站域名询盘网站

com网站域名,询盘网站,镇江交叉口优化,福建网站建设有限公司优点#xff1a; 批量发送消息可以提高rocketmq的生产者性能和吞吐量。 使用场景: 发送大量小型消息时#xff1b;需要降低消息发送延迟时#xff1b;需要提高生产者性能时#xff1b; 注意事项#xff1a; 消息列表的大小不能超过broker设置的最大消息大小;消息列表…优点 批量发送消息可以提高rocketmq的生产者性能和吞吐量。 使用场景: 发送大量小型消息时需要降低消息发送延迟时需要提高生产者性能时 注意事项 消息列表的大小不能超过broker设置的最大消息大小;消息列表的大小不能超过生产证设置的maxMessageSize 参数此参数默认为 4MB批量发送消息不支持消息事务如果代码在发送消息列表时发生异常则可能会发生部分消息发送成功部分消息发送失败的情况。如果要确保所有消息都已成功发送则需要增加错误处理逻辑和消息重试机制 批量发送消息为什么要限制maxMessageSize❓ 消息列表的大小不能超过生产者设置的maxMessageSize参数主要是为了避免消息发送延迟和消息过大导致broker出现性能问题。如果尝试发送大于maxMessageSize的消息RocketMQ会抛出MessageTooLargeException异常并且消息不会被发送到broker。 如果开发者在开发时遇到了消息列表大小超过maxMessageSize的情况可以考虑以下几种处理方式 提升maxMessageSize参数的大小这样可以容纳更大的消息列表。但是需要注意在提升参数大小时要考虑到RocketMQ broker的性能和网络带宽等因素。考虑将消息列表进行拆分然后分批发送。这样可以避免一次发送过多的消息。计算消息的大小并进行压缩。可以使用一些压缩算法如 LZ4、Snappy 等对消息进行压缩以减小消息的大小。对超过 maxMessageSize 的消息进行过滤或其他处理。可以通过业务逻辑对消息进行分组或分类对超过 maxMessageSize 的消息进行过滤或其他处理以避免发送超出限制的消息。 代码实现 package com.resource.sync.rocketmq;import java.util.Iterator; import java.util.List;/*** description:消息分割在rocketmq中一次性发送消息的长度不可超过4mb此时我们需要进行切割确保消息长度小于4mb**/ public class ListSplitterT implements IteratorListT {/*** 分割数据大小*/private int sizeLimit;/*** 分割数据列表*/private final ListT messages;/*** 分割索引*/private int currIndex;public ListSplitter(int sizeLimit, ListT messages) {this.sizeLimit sizeLimit;this.messages messages;}Overridepublic boolean hasNext() {return currIndex messages.size();}Overridepublic ListT next() {int nextIndex currIndex;int totalSize 0;for (; nextIndex messages.size(); nextIndex) {T t messages.get(nextIndex);totalSize totalSize t.toString().length();if (totalSize sizeLimit) {break;}}ListT subList messages.subList(currIndex, nextIndex);currIndex nextIndex;return subList;} }private final int maxMessageSize 1024 * 1024 * 4;/*** 消息分割(批量发送)*/private void bulkSendMsg(ListMessageString messageList) {// 限制数据大小ListSplitter splitter new ListSplitter(maxMessageSize, messageList);while (splitter.hasNext()) {ListMessage nextList splitter.next();syncBulkSendMessage(topic, nextList);}}/*** param topic* param list* description:发送实时消息(批量)*/public void syncBulkSendMessage(String topic, ListMessage list) {SendResult sendResult null;try {sendResult rocketMQTemplate.syncSend(topic, list);if (sendResult.getSendStatus() ! SendStatus.SEND_OK) {log.error(BULK_ROCKET_MQ_DISTRIBUTION_ERROR.RESULT_STATUS:{},MSG_ID:{}, sendResult.getSendStatus(), sendResult.getMsgId());}if (sendResult.getSendStatus() SendStatus.SEND_OK) {log.info(BULK_SEND_MSG_SUCCESS.MSG_ID:{}, sendResult.getMsgId());}} catch (Exception e) {log.error(BULK_ROCKET_MQ_DISTRIBUTION_ERROR:{}, e);}}
http://www.sadfv.cn/news/27808/

相关文章:

  • 东莞网站建设58巨好用企业网站源码
  • 网站架构有哪些网站缩放代码
  • 泰安市住房与城乡建设局网站org后缀做网站行
  • 网站建设公司兴田德润专业wordpress怎么做小程序
  • 建设银行茂名网站动态域名网站
  • 拖拽式网站建设费用做公司网站按年收费
  • 网站创意的技术wordpress关闭页面评论
  • 培训销售网站建设商务网站建设用的是什么软件
  • 学校网站建设问卷调查平面设计哪里学
  • 网站建设 项目背景沈阳求做商城 网站
  • 向搜索引擎提交网站地图微信微网站模版
  • 重庆 网站设计如何制作个人网页缴费
  • 宁晋网站建设多少钱工业设计创意网站
  • 成都网站建设行业分析假快递单制作软件app
  • 房屋网站东莞的网站建设公司
  • 佛山制作网站公司推荐seo站内优化培训
  • 网站自助搭建平台格朗图手表网站
  • 有什么网站建设类岗位外贸网站建设可以吗
  • 什么网站时候做伪静态中国有多少网站有多少域名
  • 建设银行南通城区网站wordpress4.9.8 php版本
  • 减压轻松网站开发网络营销工具的特点
  • 天津企业网站建设哪家好软件开发流程模型有哪些
  • 公司 网站 模板办公装修怎么设计
  • 外包网站设计公司开发公司自渠工作感悟
  • 写作网站招聘WordPress社工库
  • 盐田做网站外贸资讯平台
  • 安卓系统app网站建设优化服务机构
  • 汽车网站建设策划方案网站开发的ie兼容做到9
  • 网站制作器手机版柳州seo培训
  • 拜师做网站正规电商培训学校排名