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

网站广告是内容营销吗湘潭网站建设开发

网站广告是内容营销吗,湘潭网站建设开发,wordpress用微博sdk,温州网站开发公司优点: 批量发送消息可以提高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://www.hyszgw.com/news/50078/

相关文章:

  • 网站的建设方法wordpress 黑色
  • 请别人做网站有风险吗网站视频开发平台
  • 每一天做网站注册一个500万的公司需要多少钱
  • 人才招聘类网站开发文档青浦区网站建设费用
  • 名片式网站模板南皮做网站价格
  • 鑫路网站建设app搜索优化
  • 重庆第一门户网站口碑好的定制网站建设服务商
  • 集团门户网站建设公司郑州新站网站推广工具
  • 搭建网站 程序网站个人中心wordpress
  • 网站建设的财务计划书做网站的一般要多钱
  • 无锡华士镇网站建设成都网站设计精选柚v米科技
  • 秦皇岛网站排名东莞做门户网站
  • 如何做淘宝直播教学视频网站优良的网站邮箱服务器提供商isp
  • 大连开发网站信息产业部网站备案
  • 专门做预言的网站开发一款游戏
  • 雄安网建 网站建设成都广告公司排行前十名
  • 刚做的网站怎么搜索不出来的东莞阳光网论坛
  • 广西建设学院官方网嘉兴网站快照优化公司
  • 大理州城乡建设局网站贵州交通建设集团有限公司网站
  • 关键词挖掘爱站网做网站怎么开后台
  • 郑州快速建站公司口碑营销成功案例简短
  • 传媒公司网站制作义乌手工活外发加工网160网
  • 什么是营销型网站?wordpress图片添加字体
  • 宣讲家网站生态文明建设平台设计思路怎么写
  • 怎么建设免费网站python做网站缺点
  • 做网站本溪百度一下知道首页
  • 西安网站建设如何给网站做外链
  • 邢台市网站建设南京网站建设中企动力
  • 太原市建设工程招标投标网站99建筑网99建设工程教育网
  • 十堰微网站建设河北建设部官方网站