赞
踩
消费者是 Apache RocketMQ 中用来接收并处理消息的运行实体。 消费者通常被集成在业务系统中,从 Apache RocketMQ 服务端获取消息,并将消息转化成业务可理解的信息,供业务逻辑处理。
在消息消费端,可以定义如下传输行为:
不建议单一进程创建大量消费者
Apache RocketMQ 的消费者在通信协议层面支持非阻塞传输模式,网络通信效率较高,并且支持多线程并发访问。因此,大部分场景下,单一进程内同一个消费分组只需要初始化唯一的一个消费者即可,开发过程中应避免以相同的配置初始化多个消费者。。
不建议频繁创建和销毁消费者
Apache RocketMQ 的消费者是可以重复利用的底层资源,类似数据库的连接池。因此不需要在每次接收消息时动态创建消费者,且在消费完成后销毁消费者。这样频繁地创建销毁会在服务端产生大量短连接请求,严重影响系统性能。
正确使用示例如下:
Consumer c = ConsumerBuilder.build();
for (int i =0;i<n;i++){
Message m= c.receive();
//process message
}
c.shutdown();
错误使用示例如下:
for (int i =0;i<n;i++){
Consumer c = ConsumerBuilder.build();
Message m= c.receive();
//process message
c.shutdown();
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。