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

企业建设网站要注意的要素表格制作手机软件

企业建设网站要注意的要素,表格制作手机软件,优化网站视频,建设工程公司名称前言 这篇给大家讲普通消息和批量消息,主要配合代码进行讲解,关于RocketMQ的基础知识已经在上篇给大家讲过需要回顾的点击下面这个链接去看 RocketMQ基础知识 普通消息 普通消息其实就很简单,是Apache RocketMQ中最基础的消息形式&#x…

前言

这篇给大家讲普通消息和批量消息,主要配合代码进行讲解,关于RocketMQ的基础知识已经在上篇给大家讲过需要回顾的点击下面这个链接去看

RocketMQ基础知识

普通消息

普通消息其实就很简单,是Apache RocketMQ中最基础的消息形式,区别于有特性的顺序消息、定时/延时消息和事务消息。普通消息一般应用于微服务解耦、事件驱动、数据集成等场景,这些场景大多数要求数据传输通道具有可靠传输的能力,且对消息的处理时机、处理顺序没有特别要求。

在电商交易场景中,上游订单系统将用户下单支付这一业务事件封装成独立的普通消息并发送至RocketMQ服务端,下游按需从服务端订阅消息并按照本地消费逻辑处理下游任务。每个消息之间都是相互独立的,且不需要产生关联。

在离线的日志收集场景中,通过埋点组件收集前端应用的相关操作日志,并转发到RocketMQ。每条消息都是一段日志数据,RocketMQ不做任何处理,只需要将日志数据可靠投递到下游的存储系统和分析系统即可,后续功能由后端应用完成。

普通消息是RocketMQ基本消息功能,支持生产者和消费者的异步解耦通信。

例如下面这个代码就是普通消息:

public class Producer {public static void main(String[] args) throws Exception {//创建一个生产者,指定生产者组为 sanyouProducerDefaultMQProducer producer = new DefaultMQProducer("sanyouProducer");// 指定NameServer的地址producer.setNamesrvAddr("192.168.200.143:9876");// 启动生产者producer.start();//创建一条消息 topic为 sanyouTopic 消息内容为 java日记Message msg = new Message("sanyouTopic", "java日记".getBytes(RemotingHelper.DEFAULT_CHARSET));// 发送消息并得到消息的发送结果,然后打印SendResult sendResult = producer.send(msg);System.out.printf("%s%n", sendResult);// 关闭生产者producer.shutdown();}}

构建的消息的topic为sanyouTopic,内容为java日记,这就是一条很普通的消息

批量消息

MQ的批量消息是指将多条小的消息合并成一个批量消息,然后一次发送出去。

这种批量发送的好处是可以减少网络IO,提升吞吐量。在实际使用时,一个批次消息的大小不应超过1MB,但实际的最大限制是4194304字节,大概4MB。

同时,批量消息的使用也有一定限制,这些消息应该有相同的Topic,相同的waitStoreMsgOK。而且不能是延迟消息、事务消息等。

通俗易懂说就是将多个消息同时发过去,减少网络请求的次数

public class Producer {public static void main(String[] args) throws Exception {//创建一个生产者,指定生产者组为 sanyouProducerDefaultMQProducer producer = new DefaultMQProducer("sanyouProducer");// 指定NameServer的地址producer.setNamesrvAddr("192.168.1.135:9876");// 启动生产者producer.start();//用以及集合保存多个消息List<Message> messages = new ArrayList<>();messages.add(new Message("sanyouTopic", "java日记 0".getBytes()));messages.add(new Message("sanyouTopic", "java日记 1".getBytes()));messages.add(new Message("sanyouTopic", "java日记 2".getBytes()));// 发送消息并得到消息的发送结果,然后打印SendResult sendResult = producer.send(messages);System.out.printf("%s%n", sendResult);// 关闭生产者producer.shutdown();}}

多个普通消息同时发送,这就是批量消息

不过在使用批量消息的时候,需要注意以下两点

  • 每条消息的Topic必须都得是一样的

  • 不支持延迟消息和事务消息

总结

普通消息和批量消息比较简单,没有复杂的逻辑,就是将消息发送过去,在ConsumeQueue和CommitLog存上对应的数据就可以了。

联系方式

关于文章中大家有任何疑问可以通过关注公众号《编程乐学》进行留言,同时,公众号还有更多有趣的项目以及关于学习编程的笔记资料大家可以看看,欢迎大家进行留言。

http://www.yayakq.cn/news/410154/

相关文章:

  • 达内网站开发培训价格网站建设可视化工具
  • 陇西网站建设 室内设计wordpress 4.5.3 下载
  • 网站的照片上传的功能怎么做西安seo排名优化推广价格
  • wordpress文件详解网站排名优化和竞价
  • 网站用的空间海棠网站
  • 广州十大网站建设桂林漓江景点介绍
  • 莘县做网站网站建设公司华网天下官网
  • 经营范围网站开发运营信阳做网站
  • 网站数据库安装教程帮人做网站的公司
  • 做泥软件下载官方网站2345纯净版推广包
  • 辽宁沈阳做网站网上开店铺
  • 企业网站建设用语网页游戏排行榜2024
  • 河南建设工程信息网官方网站wordpress邀请码插件
  • 花都区手机版网站建设网站有哪些费用多少钱
  • 企业型网站建设住房和城乡建设部主网站
  • 哈尔滨城乡建设局网站首页wordpress 控制文章数量
  • wordpress能做任何网站石家庄信息门户网站制作费用
  • 做网站公司长沙哪家好中国建设银行网站客户注册
  • 图书馆建设网站的相关软件网络营销咨询公司
  • 深圳网站建设设计制作网站焦点图如何美观
  • 做微信公众号的网站吗steam账号注册网站
  • 如何做配音网站简单网页模板
  • 女生做seo网站推广北京 代理前置审批 网站备案
  • 杭州做网站的优质公司网页怎么发布
  • 企业网站推广方法和技巧如何做好推广工作
  • 西乡建网站公司代理网页打不开
  • 做网站好还是做商城好天津网站优化哪家好
  • 龙岗网站建设要多少钱直播是网站怎么做
  • 武邑县网站建设济源市住房和城乡建设局网站
  • 福州制作手机网站莱芜市住房和城乡建设厅网站