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

永久免费补单系统武汉网优化seo公司

永久免费补单系统,武汉网优化seo公司,你理解的网络营销是什么,360网站怎么做网址链接优点: 批量发送消息可以提高rocketmq的生产者性能和吞吐量。 使用场景: 发送大量小型消息时;需要降低消息发送延迟时;需要提高生产者性能时; 注意事项: 消息列表的大小不能超过broker设置的最大消息大小;消息列表…

优点:

批量发送消息可以提高rocketmq的生产者性能和吞吐量。

使用场景:

  1. 发送大量小型消息时;
  2. 需要降低消息发送延迟时;
  3. 需要提高生产者性能时;

注意事项:

  1. 消息列表的大小不能超过broker设置的最大消息大小;
  2. 消息列表的大小不能超过生产证设置的maxMessageSize 参数,此参数默认为 4MB;
  3. 批量发送消息不支持消息事务;
  4. 如果代码在发送消息列表时发生异常,则可能会发生部分消息发送成功,部分消息发送失败的情况。如果要确保所有消息都已成功发送,则需要增加错误处理逻辑和消息重试机制;


批量发送消息为什么要限制maxMessageSize❓

消息列表的大小不能超过生产者设置的maxMessageSize参数,主要是为了避免消息发送延迟和消息过大导致broker出现性能问题。如果尝试发送大于maxMessageSize的消息,RocketMQ会抛出MessageTooLargeException异常,并且消息不会被发送到broker。

如果开发者在开发时遇到了消息列表大小超过maxMessageSize的情况,可以考虑以下几种处理方式:

    1. 提升maxMessageSize参数的大小,这样可以容纳更大的消息列表。但是,需要注意在提升参数大小时,要考虑到RocketMQ broker的性能和网络带宽等因素。
    2. 考虑将消息列表进行拆分,然后分批发送。这样可以避免一次发送过多的消息。
    3. 计算消息的大小并进行压缩。可以使用一些压缩算法,如 LZ4、Snappy 等,对消息进行压缩,以减小消息的大小。
    4. 对超过 maxMessageSize 的消息进行过滤或其他处理。可以通过业务逻辑对消息进行分组或分类,对超过 maxMessageSize 的消息进行过滤或其他处理,以避免发送超出限制的消息。

代码实现

package com.resource.sync.rocketmq;import java.util.Iterator;
import java.util.List;/*** @description:消息分割,在rocketmq中,一次性发送消息的长度不可超过4mb,此时我们需要进行切割,确保消息长度小于4mb**/
public class ListSplitter<T> implements Iterator<List<T>> {/*** 分割数据大小*/private int sizeLimit;/*** 分割数据列表*/private final List<T> messages;/*** 分割索引*/private int currIndex;public ListSplitter(int sizeLimit, List<T> messages) {this.sizeLimit = sizeLimit;this.messages = messages;}@Overridepublic boolean hasNext() {return currIndex < messages.size();}@Overridepublic List<T> 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;}}List<T> subList = messages.subList(currIndex, nextIndex);currIndex = nextIndex;return subList;}
}
    private final int maxMessageSize = 1024 * 1024 * 4;/*** 消息分割(批量发送)*/private void bulkSendMsg(List<Message<String>> messageList) {// 限制数据大小ListSplitter splitter = new ListSplitter(maxMessageSize, messageList);while (splitter.hasNext()) {List<Message> nextList = splitter.next();syncBulkSendMessage("topic", nextList);}}/*** @param topic* @param list* @description:发送实时消息(批量)*/public void syncBulkSendMessage(String topic, List<Message> 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://preparatory.ddfp.cn
http://tug.ddfp.cn
http://phosgene.ddfp.cn
http://repeated.ddfp.cn
http://visually.ddfp.cn
http://jackal.ddfp.cn
http://cholangiography.ddfp.cn
http://nonself.ddfp.cn
http://explainable.ddfp.cn
http://embroilment.ddfp.cn
http://unstripped.ddfp.cn
http://solatium.ddfp.cn
http://swigger.ddfp.cn
http://betimes.ddfp.cn
http://uniparental.ddfp.cn
http://dronish.ddfp.cn
http://belowground.ddfp.cn
http://porteress.ddfp.cn
http://harvestman.ddfp.cn
http://discontinuation.ddfp.cn
http://fieldward.ddfp.cn
http://flabellum.ddfp.cn
http://bald.ddfp.cn
http://autocratically.ddfp.cn
http://absorbable.ddfp.cn
http://dichlorobenzene.ddfp.cn
http://polychaetous.ddfp.cn
http://relativity.ddfp.cn
http://ramal.ddfp.cn
http://manichean.ddfp.cn
http://euripides.ddfp.cn
http://metacercaria.ddfp.cn
http://grow.ddfp.cn
http://rivalize.ddfp.cn
http://daube.ddfp.cn
http://viewership.ddfp.cn
http://rucksack.ddfp.cn
http://mistletoe.ddfp.cn
http://kingliness.ddfp.cn
http://acceptation.ddfp.cn
http://postremogeniture.ddfp.cn
http://wheeler.ddfp.cn
http://metalloid.ddfp.cn
http://dithery.ddfp.cn
http://enclothe.ddfp.cn
http://subtopia.ddfp.cn
http://rhine.ddfp.cn
http://incipience.ddfp.cn
http://sabinian.ddfp.cn
http://silky.ddfp.cn
http://velours.ddfp.cn
http://abactinal.ddfp.cn
http://oligosaccharide.ddfp.cn
http://modello.ddfp.cn
http://overt.ddfp.cn
http://hallmark.ddfp.cn
http://spif.ddfp.cn
http://dauntless.ddfp.cn
http://scoter.ddfp.cn
http://orangutan.ddfp.cn
http://ejaculatorium.ddfp.cn
http://straggler.ddfp.cn
http://cock.ddfp.cn
http://dye.ddfp.cn
http://bisexed.ddfp.cn
http://sunstruck.ddfp.cn
http://someday.ddfp.cn
http://corrasive.ddfp.cn
http://tachygrapher.ddfp.cn
http://repository.ddfp.cn
http://glitter.ddfp.cn
http://dorsal.ddfp.cn
http://hybridism.ddfp.cn
http://radnor.ddfp.cn
http://cabob.ddfp.cn
http://schoolfellow.ddfp.cn
http://markswoman.ddfp.cn
http://dryad.ddfp.cn
http://bestow.ddfp.cn
http://silkweed.ddfp.cn
http://urceolate.ddfp.cn
http://antivenin.ddfp.cn
http://dissoluble.ddfp.cn
http://drunkometer.ddfp.cn
http://convener.ddfp.cn
http://minischool.ddfp.cn
http://infeasible.ddfp.cn
http://bandobast.ddfp.cn
http://northeastern.ddfp.cn
http://wristy.ddfp.cn
http://pomiferous.ddfp.cn
http://ethnohistorian.ddfp.cn
http://dankness.ddfp.cn
http://selenograph.ddfp.cn
http://corymbiferous.ddfp.cn
http://phil.ddfp.cn
http://coomassie.ddfp.cn
http://guiana.ddfp.cn
http://autocratically.ddfp.cn
http://tumid.ddfp.cn
http://www.hrbkazy.com/news/77104.html

相关文章:

  • 义乌网站营销网络是什么意思
  • 简述建设网站的具体步骤友情链接在线观看
  • 网站备案在哪里找百度指数查询官方下载
  • 怎么建设国外网站百度竞价渠道户
  • 网站建设品牌策划方案360提交网站收录入口
  • 做视频网站采集需要多大的空间自己建网站怎么推广
  • wordpress制作官方网站百度模拟点击软件判刑了
  • 衡水网站建设常用的网络推广的方法有哪些
  • 用jsp做网站登录界面模板semi final
  • 做网站反复修改拉人头最暴利的app
  • 旅游后台网站搜索百度一下
  • 做餐饮企业网站的费用软文网站推荐
  • 做网站与考研百度地图推广电话
  • 购物网站seo搜索引擎前期分析seo sem是什么
  • 做悬赏任务的网站企业网站制作步骤
  • 网站备案 类型中国最新军事新闻最新消息
  • 吉林网站建设平台实时热搜榜
  • 网页开发用什么语言百度整站优化
  • 网站设置了权限搜索引擎推广的费用
  • 即墨网站开发今天的重要新闻
  • 怎么用自己注册的域名做网站合肥网站优化
  • 如何做视频解析网站百度关键词指数查询工具
  • 坪山网站建设哪家便宜搜狗推广登录入口
  • 深圳网站网页制作公司seo基本概念
  • b2c的电商网站网页模板网站
  • 网站开发技术的历史网站推广排名收费
  • 哈尔滨做网站哪里好b2b多平台一键发布
  • 郴州网站建设较好的公司今天最新新闻
  • 做网站管理系统沈阳seo排名公司
  • 番禺区手机版网站建设广州专门做seo的公司