从RabbitMQ平滑迁移到RocketMQ技术实战( 四 )


文章插图
 
使用消息网关后业务压测性能
5.1.2 更丰富的功能特性

  • 统一的消息过期时间
  • 消费异常消息将按照梯度延时重投递
  • 直接支持广播消费模式
  • 全环境按需提供消息轨迹功能
  • 支持消费重置到以前的某个位点
5.1.3 业务使用特性变化
  • 消息将不再无限期保留 , 默认保留3~7天(实际保留时间根据集群配置决定)
  • 消费异常将不再立即重投递 , 将按照一定的梯度延时重投递 , 多次异常后将变为死信消息
  • 直接支持广播消费 , 注意广播消费模式消费无异常重投递 , 每个消息每个节点只消费一次
  • 业务生产消费性能可支持水平扩展
  • 不支持消费优先级功能
  • 默认消费超时时间15分钟 , 消费超时后消息重新投递 , 消费超时时间可按需调整
  • 支持消费启停(全局或限制部分节点消费)
  • 支持全局消费限流
  • 限制消息体大小 , 当前限制为256KB , 超过将直接返回失败 , 后续将进行流量治理 , 限制发送大消息体业务流量
5.2 平台运维收益业务从RabbitMQ迁移到RocketMQ后 , 可支撑业务流量从万TPS级别提升到十万TPS级别 , 可支撑业务容量从数亿提升至百亿级别 。耗用机器资源下降50%以上 , 运维难度和成本均大大降低 , 同时可以基于消息网关实现更加丰富的功能特性 。
六、未来展望未来 , 中间件团队计划在三个方面对消息中间件进行迭代演进:
  1. 基于消息网关能力丰富现有平台功能特性 , 进行业务消息治理 。
  2. 过去五年中间件团队基于开源RabbitMQ进行了RabbitMQ的高可用建设 , 发现直接让业务方使用基于开源组件的SDK接入会带来SDK升级困难 , 与后端消息中间件类型绑定的问题 , 未来我们计划基于GPRC和消息网关 , 实现消息队列引擎服务化 , 业务无需关心底层具体使用的开源消息中间件选型 。
  3. 调研RocketMQ5.0计算与存储分离构架 , 进行消息中间件架构的再升级 。




推荐阅读