消息收发功能为云消息队列 RocketMQ 版的基础功能,您只要开通云消息队列 RocketMQ 版服务,则默认使用消息收发功能。本文介绍云消息队列 RocketMQ 版标准版实例的消息收发功能费用详情和计费示例。
计费公式
标准版实例根据消息收发量和资源占用量进行计费,计费方式为按量付费(后付费),适合消息量少或消息波峰波谷差异明显的业务场景,可以有效避免资源浪费。
标准版实例的消息收发费用计费公式如下:
API调用费用
计费项说明
API调用费用=(接收消息次数+投递消息次数)×API调用单价
以服务端消息收发次数为维度计费,计费单价按照月度消息收发次数阶梯变化,并且地域不同,费用不同。
消息收发次数计算规则:
服务端收到1条普通消息计算为1次接收消息次数;服务端投递1条普通消息,不管该消息是否消费成功,都计算为1次投递消息次数。
高级特性消息计算消息收发次数时,需要在普通消息的基础上乘以5倍倍率计算。例如,服务端收到1条事务消息,并将该消息向消费者投递2次,则消息收发次数为1×5+2×5=15次。
消息体大小最大限制为4 MB,大小以4 KB为计量单位。例如,投递1条16 KB的消息,投递次数按照16/4=4次计算。
使用HTTP协议消费消息时,消费者客户端通过主动调用消费方法获取消息,支持短轮询和长轮询两种方式,调用方法的频率由消费者应用控制。
长轮询方式:若Topic中没有消息,订阅请求会一直在服务端挂起,直到有消息或等待时间(最长30秒)到达后返回响应。服务端有消息返回时,投递消息次数按照以上规则计算,即消息条数乘以对应的高级特性倍率和消息体大小倍率。服务端未返回消息时,则计算为1次投递次数。
短轮询方式:若Topic中没有消息,服务端也会立即返回响应,客户端收到响应后会再次不断发起订阅请求,此时一次订阅请求也会计算为1次投递消息次数。
当Topic中没有消息产生时,短轮询方式可能会产生大量无效的订阅请求,这部分请求也会仍然计算API调用费用,建议您可以使用长轮询方式适当增加长轮询等待时间,减少无效请求次数以降低费用。具体配置,请参见订阅消息API。
云消息队列 RocketMQ 版有4种消息类型:普通消息、定时和延时消息、事务消息以及顺序消息,其中,定时和延时消息、事务消息以及顺序消息为高级特性消息。更多信息,请参见消息类型列表。
计费单价
阶梯单价
说明按照阿里云主账号累计,每个月免费拥有2000万次的消息收发API调用额度,以下阶梯单价为超出免费额度的计算规则。
表 1. API调用费用(公有云)
计费阶梯
消息收发次数(亿次/月)
公有云单价(元/百万次)
公网、华东1(杭州)、华东2(上海)、华南1(深圳)、西南1(成都)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)
中国香港、新加坡、日本(东京)、美国(弗吉尼亚)、美国(硅谷)、德国(法兰克福)、阿联酋(迪拜)、英国(伦敦)
马来西亚(吉隆坡)、印度尼西亚(雅加达)、菲律宾(马尼拉)
第一阶梯
0~10
2.0
2.9
2.7
第二阶梯
10~50
1.8
2.6
2.4
第三阶梯
50~100
1.5
2.2
2.0
第四阶梯
100~500
1.3
1.9
1.7
第五阶梯
500以上
1.2
1.7
1.6
表 2. API调用费用(金融云与政务云)
计费阶梯
消息收发次数(亿次/月)
金融云单价(元/百万次)
政务云单价(元/百万次)
华东1(杭州)、华东2(上海)、华南1(深圳)
华北2阿里政务云1
第一阶梯
0~10
3.8
4.0
第二阶梯
10~50
3.42
3.6
第三阶梯
50~100
2.85
3.0
第四阶梯
100~500
2.47
2.6
第五阶梯
500以上
2.28
2.4
表 3. API调用费用
阶梯累计规则
按照阿里云账号维度、按账期(月度)累计消息收发次数。
说明阿里云账号通过角色给其他账号授权,所有计费归属授权账号;阿里云账号给其名下RAM用户授权,所有计费归属阿里云账号。
阶梯逻辑仅适用于按量付费,不适用于云消息队列 RocketMQ 版资源包提供的优惠套餐。
同一地域的金融云计费为公共云的1.9倍。
计费示例
消息收发次数计算示例
服务端每天收到生产者发送的700万条普通消息,由于一个Topic会被多个Group订阅,且考虑到消息消费失败重投的情况,消息投递次数按照800万次预估;每条消息大小为40 KB。
服务端每天收到生产者发送的300万条高级特性消息,消息投递次数为300万次;每条消息大小为2 KB。
一天的消息收发次数=(普通消息接收次数+普通消息投递次数)×消息大小倍数+(高级特性消息接收次数+高级特性消息投递次数)×5×消息大小倍数=(700万+800万)×⌈40/4⌉+(300万+300万)×5×⌈2/4⌉=1.8亿次
说明⌈ ⌉表示向上取整。
API调用费用计算示例
假设您的实例所属地域为华东2(上海),每天消息收发总次数为5亿,则消息收发次数累计量和阶梯单价如下:
当月日期
某月1日
某月2日
某月3日
某月4日
...
某月11日
...
当天消息收发次数
5亿
5亿
5亿
5亿
...
5亿
...
消息收发累计次数(按月累计)
5亿
10亿
15亿
20亿
...
55亿
...
单价(元/百万次)
2(第一阶梯)
2(第一阶梯)
1.8(第二阶梯)
1.8(第二阶梯)
...
1.5(第三阶梯)
...
当天费用(元)
1000
1000
900
900
...
750
...
Topic资源占用费用
计费项说明
Topic资源占用费用=单价×Topic个数×天数
每个Topic每天都会被收取一次Topic资源占用费,计费单价会根据每个Topic当天的消息收发次数阶梯变化。
您每创建一个Topic都会按照Topic资源占用进行计费,即使Topic未进行消息收发,也会计费。因此,请及时删除不需要使用的Topic,避免产生不必要的费用。
计费单价
阶梯单价
表 4. Topic资源占用费用(公有云)
计费阶梯
消息收发次数(万次/个/日)
公有云单价(元/个/日)
公网、华东1(杭州)、华东2(上海)、华南1(深圳)、西南1(成都)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)
中国香港、新加坡、日本(东京)、美国(弗吉尼亚)、美国(硅谷)、德国(法兰克福)、阿联酋(迪拜)、英国(伦敦)
马来西亚(吉隆坡)、印度尼西亚(雅加达)、菲律宾(马尼拉)
第一阶梯
0~100
2
2.9
2.7
第二阶梯
100~500
1.5
2.2
2.0
第三阶梯
500~1000
0.5
0.7
0.7
第四阶梯
1000以上
0
0
0
表 5. Topic资源占用费用(金融云与政务云)
计费阶梯
消息收发次数(万次/个/日)
金融云单价(元/个/日)
政务云单价(元/个/日)
华东1(杭州)、华东2(上海)、华南1(深圳)
华北2阿里政务云1
第一阶梯
0~100
3.8
4.0
第二阶梯
100~500
2.85
3.0
第三阶梯
500~1000
0.95
1.0
第四阶梯
1000以上
0
0
表 6. Topic资源占用费用
阶梯累计规则
按照Topic维度、按天累计消息收发次数。
说明阿里云账号通过角色给其他账号授权,所有计费归属授权账号;阿里云账号给其名下RAM用户授权,所有计费归属阿里云账号。
阶梯逻辑仅适用于按量付费,不适用于云消息队列 RocketMQ 版资源包提供的优惠套餐。
同一地域的金融云计费为公共云的1.9倍。
计费示例
假设您的实例所属地域为华东2(上海),您一共创建了若干个Topic。
每个Topic每天收取一次费用,每天的Topic资源占用费为所有Topic当天产生费用的总和。
当月日期 | 某月1日 | 某月2日 | 某月3日 | ... |
Topic_1 | 当天消息收发次数10万,属于第一计费阶梯。 Topic资源占用费:2元。 | 当天消息收发次数120万,属于第二计费阶梯。 Topic资源占用费:1元。 | 当天消息收发次数30万,属于第一计费阶梯。 Topic资源占用费:2元。 | ... |
Topic_2 | 当天消息收发次数550万,属于第三计费阶梯。 Topic资源占用费:0.5元。 | 当天消息收发次数80万,属于第一计费阶梯。 Topic资源占用费:2元。 | 当天消息收发次数10万,属于第一计费阶梯。 Topic资源占用费:2元。 | ... |
... | ... | ... | ... | ... |
Topic_n | ... | ... | ... | ... |