检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
与其他云服务的关系 弹性云服务器(Elastic Cloud Server) 弹性云服务器是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。RabbitMQ实例运行在弹性云服务器上,一个代理对应一台弹性云服务器。 云硬盘(Elastic Volume Service) 云硬
"publicip_id" : "32685c2b-xxxx-xxxx-86c6-a1902359xxxx" } 响应示例 无 SDK代码示例 SDK代码示例如下。 Java Python Go 更多 修改实例的名称和描述。 1 2 3 4 5 6 7 8 9 10 11 12
import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; import java.util.Date; @Component public class ReceiveMsgService
分布。 约束与限制 如果客户端配置的消息确认机制为自动确认,则设置的预取值无效,已确认的消息会从队列中删除。 设置预取值 以下示例演示在Java客户端为单个消费者设置预取值为10。 ConnectionFactory factory = new ConnectionFactory();
Acknowledgements and Publisher Confirms。 生产者确认 生产者确认,即服务端在收到来自生产者的消息时进行确认。 以下示例演示在Java客户端配置生产者确认: try { channel.confirmSelect() ; //将信道置为publisher confirm模式
返回结果 状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于管理员创建IAM用户接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请
使用前请参考收集连接信息收集RabbitMQ所需的连接信息。 本文的连接示例对于RabbitMQ 3.x.x版本与AMQP-0-9-1版本都适用。 准备环境 Python 一般系统预装了Python,您可以在命令行输入python或者python3,查看Python是否已经安装。python命令只能查询Python 2
将死信消息发送到死信交换机中,并根据“x-dead-letter-routing-key”为死信消息设置死信路由Key。 以下示例演示在Java客户端配置死信交换机和路由: channel.exchangeDeclare("some.exchange.name", "direct");
在声明队列时,可以配置单一活跃消费者,只需要将队列的“x-single-active-consumer”参数设置为“true”。 以下示例演示在Java客户端设置单一活跃消费者。 Channel ch = ...; Map<String, Object> arguments = newHashMap<String
和客户端视为关闭。服务端和客户端会对配置的心跳超时时间进行协商,客户端必须配置该值来发送心跳。RabbitMQ官方团队维护的3个客户端(Java、.NET、Erlang语言)的心跳超时时间协商逻辑如下: 服务端和客户端设置的心跳超时时间都不为0时,两者间较小的值生效。 服务端和客
实例保持一致,规格为16U32G,Linux系统的ECS服务器,具体步骤请参考购买弹性云服务器。 购买完成ECS后,需要在ECS中完成以下配置: 安装Java JDK,并配置JAVA_HOME与PATH环境变量。 export JAVA_HOME=/root/jdk1.8.0_231
实现网络异常时RabbitMQ客户端自动恢复 本章节提供了客户端重连示例代码,使客户端在网络异常导致连接断开时自动恢复连接,降低网络故障对业务的影响。 实现RabbitMQ节点重启后消费者自动重连 本章节提供了RabbitMQ节点重启后消费者自动重连示例代码,实现在通道关闭后重新为消费者创建新的通道继续消费。
queueDeclare方法的时候在参数中设置,也可以通过Policy的方式设置。如果一个队列同时使用这两种方式设置的话,Policy的方式具备更高的优先级。 以下示例演示在Java客户端通过调用channel.queueDeclare设置惰性队列。 Map<String, Object> args = new HashMap<String
RabbitMQ实例,用户在购买时会一次性付费,服务将在到期后自动停止使用。 如果在计费周期内不再使用包年/包月资源,您可以执行退订操作,系统将根据资源是否属于五天无理由退订、是否使用代金券和折扣券等条件返还一定金额到您的账户。详细的退订规则请参见云服务退订规则概览。需要注意,如
兼容RocketMQ协议。 只支持Kafka自定义协议。 RabbitMQ基于AMQP协议实现。 跨语言支持 支持多语言的客户端。 采用Scala和Java编写,支持多种语言的客户端。 支持多种语言的客户端。 流量控制 RocketMQ 5.x支持基于实例规格的流量控制。 支持client、
消费者没有出现异常,但是消费者与队列间的订阅可能出现了异常,也会导致消息无法被消费从而造成堆积的情况。 消费者正常,与队列间的订阅也正常,但是消费端的代码本身逻辑耗费时间长导致了消费能力降低,这时候就会出现1中的情况从而导致消息堆积。 解决消息堆积的办法 生产速率较快,消费速率较慢:您可以通过以下方法解决。
Queue设置为持久化后,可通过客户端设置“MessageProperties”为“PERSISTENT_TEXT_PLAIN”,向Queue发送持久消息。 以下示例演示在Java客户端设置Message持久化: import com.rabbitmq.client.MessageProperties; channel
实例规格变更成功。 { "job_id" : "93b94287-728d-4bb1-a158-cb66cb0854e7" } SDK代码示例 SDK代码示例如下。 Java Python Go 更多 扩容存储空间(老规格按需实例)。new_spec_code的值为原规格参数。 1 2 3
如表1所示,包括了DMS for RabbitMQ的所有系统权限。 表1 DMS for RabbitMQ系统权限 系统角色/策略名称 描述 类别 依赖关系 DMS FullAccess 分布式消息服务管理员权限,拥有该权限的用户可以操作所有分布式消息服务的功能。 系统策略 无 DMS UserAccess
消费过。如果已经消费过,则直接返回处理结果,否则进行消息处理,并将全局ID记录下来。 生产者为每一条消息设置唯一的messageID,示例代码如下: //持久化消息,并且生成随机的全局唯一messageID AMQP.BasicProperties.Builder builder