当前位置: 首页 > 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.huolong8.cn/news/27808/

相关文章:

  • 域名购买成功后怎么做网站网站开发第三方支付
  • 长沙做个网站多少钱郑州做网站推广价格
  • 怎么从网站知道谁做的最大的网站
  • 视觉网站建设dw做的网站怎样做成手机版的
  • 有什么做任务的网站吗做网站解析要多久
  • 机械行业网站 方案二次开发源代码
  • 珠海手机网站建设公司wordpress模版仿制
  • 网站开发看什么书移动互联网开发的学习心得300字
  • 企业建站做网站免费的html模板下载
  • 连锁餐饮网站建设中国跨境电商平台有多少
  • 鑫诺科技网站建设手机上网站
  • 查询网站信息php wap网站源码
  • 建设产品网站长沙网上房地产
  • 天津个人网站建设重庆建筑工程职业学院
  • 新公司注册在哪个网站手机网站一键开发
  • dw制作asp网站模板下载wordpress 登录可见
  • 网站flash引导页下载如何做一个营销型网站
  • 黄石建设网站公司哪家公司建站的
  • 网站音频播放器源码免费作图网站都有哪些
  • 网站公司seowordpress标签转拼音
  • 免费php企业网站管理系统那个网站开发三味
  • 头像网站模板免费注册跨境电商
  • 网站设计的总结百度流量推广项目
  • 同德县wap网站建设公司深圳物流公司查询大全
  • 外贸购物网站建设wordpress微信支付功能
  • 网站上的分享php网站建设价格
  • 网站开发系统源代码网站常见错误代码
  • 谈谈什么是网络营销织梦seo排名优化教程
  • 做非法网站怎么判刑设计工作室网站
  • 销售网站设计方案装企营销系统