检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在实际业务中,通过合理使用Topic和Tag,可以使业务结构更清晰,提高效率。可以根据如下几方面判断Topic和Tag的具体使用场景: 根据消息类型判断:RocketMQ的消息可分为普通消息、顺序消息、定时/延迟消息、事务消息,不同类型的消息需要用不同的Topic来区分,无法通过Tag区分。
通过消息幂等实现消息去重 方案概述 在RocketMQ的业务处理过程中,如果消息重发了多次,消费者端对该重复消息消费多次与消费一次的结果是相同的,多次消费并没有对业务产生负面影响,那么这个消息处理过程是幂等的。消息幂等保证了无论消息被重复投递多少次,最终的处理结果都是一致的,避免了因消息重复而对业务产生影响。
用户想批量创建Topic时只能手动多次调用接口一个个创建,效率低下。现通过代码实现接口循环调用,可实现批量创建Topic的效果。 前提条件 已获取IAM和RocketMQ服务所在区域的Endpoint地址。 已获取RocketMQ实例的实例ID,以及实例所在区域的项目ID。 使用华为云SDK
回滚:事务消息将被丢弃,不允许消费者消费此事务消息。 未知,待确认:事务消息状态暂时无法确定,等待固定时间后,服务端向生产者进行消息回查。 生产耗时 生产者发送消息的耗时。 单位:毫秒 生产地址 生产者的IP地址。 消费者状态 消费者状态如下: 消费成功 消费超时 消费异常 消费返回NULL 消费失败 消费时间 消费消息的时间。
分区上是否还有可用资源。 default_az Boolean 是否为默认可用区。 remain_time Long 剩余时间。 ipv6_enable Boolean 是否支持IPv6。 请求示例 查询可用区信息。 GET https://{endpoint}/v2/available-zones
事务保证,通过两阶段的方式提供对事务消息的支持,事务消息交互流程如图1所示。 图1 事务消息交互流程 事务消息生产者首先发送半消息,然后执行本地事务。如果执行成功,则发送事务提交,否则发送事务回滚。服务端在一段时间后如果一直收不到提交或回滚,则发起回查,生产者在收到回查后重新发送
名称不可重复。 用户名创建成功后,不可修改。 IP白名单 如果请求的来源IP为IP白名单中的地址,不需要校验用户密钥是否正确,且具有所有Topic和消费组的发布+订阅权限。 IP白名单可以配置为具体的IP地址,也可以配置为网段。 多个IP时使用英文逗号隔开,如:192.168.1.2
enable_publicip Boolean 是否开启公网。 publicip_id String 实例绑定的弹性IP地址的ID。以英文逗号隔开多个弹性IP地址的ID。如果开启了公网访问功能(即enable_publicip为true),该字段为必选。 publicip_address String
事务保证,通过两阶段的方式提供对事务消息的支持,事务消息交互流程如图1所示。 图1 事务消息交互流程 事务消息生产者首先发送半消息,然后执行本地事务。如果执行成功,则发送事务提交,否则发送事务回滚。服务端在一段时间后如果一直收不到提交或回滚,则发起回查,生产者在收到回查后重新发送
enable_publicip Boolean 是否开启公网。 publicip_id String 实例绑定的弹性IP地址的ID。以英文逗号隔开多个弹性IP地址的ID。如果开启了公网访问功能(即enable_publicip为true),该字段为必选。 publicip_address String
ACL访问控制。 enable_publicip 否 Boolean 是否开启公网。 publicip_id 否 String 实例绑定的弹性IP地址的ID。 以英文逗号隔开多个弹性IP地址的ID。 如果开启了公网访问功能(即enable_publicip为true),该字段为必选。 响应参数
final SendReceipt sendReceipt = producer.send(message); log.info("Send message successfully, messageId={}", sendReceipt.getMessageId());
enable_publicip Boolean 是否开启公网。 publicip_id String 实例绑定的弹性IP地址的ID。以英文逗号隔开多个弹性IP地址的ID。如果开启了公网访问功能(即enable_publicip为true),该字段为必选。 publicip_address String
事务保证,通过两阶段的方式提供对事务消息的支持,事务消息交互流程如图1所示。 图1 事务消息交互流程 事务消息生产者首先发送半消息,然后执行本地事务。如果执行成功,则发送事务提交,否则发送事务回滚。服务端在一段时间后如果一直收不到提交或回滚,则发起回查,生产者在收到回查后重新发送
final SendReceipt sendReceipt = producer.send(message); log.info("Send message successfully, messageId={}", sendReceipt.getMessageId());
enable_publicip Boolean 是否开启公网。 publicip_id String 实例绑定的弹性IP地址的ID。以英文逗号隔开多个弹性IP地址的ID。如果开启了公网访问功能(即enable_publicip为true),该字段为必选。 publicip_address String
enable_publicip Boolean 是否开启公网。 publicip_id String 实例绑定的弹性IP地址的ID。以英文逗号隔开多个弹性IP地址的ID。如果开启了公网访问功能(即enable_publicip为true),该字段为必选。 publicip_address String
final SendReceipt sendReceipt = producer.send(message); log.info("Send message successfully, messageId={}", sendReceipt.getMessageId());
实例绑定的弹性IP地址的ID。 以英文逗号隔开多个弹性IP地址的ID。 如果开启了公网访问功能(即enable_publicip为true),该字段为必选。 broker_num Integer 代理个数。 bss_param BssParam object 表示包周期计费模式的相关参数。
Integer 代理数量 当oper_type参数为horizontal时,该参数必填。 publicip_id 否 String 实例绑定的弹性IP地址的ID。 以英文逗号隔开多个弹性IP地址的ID。 当oper_type参数为horizontal且开启了公网访问时,此参数必填。 响应参数