Qemo 2019-06-30
近日,阿里云消息队列MQ发布了多项产品新特性,上线消息队列 AMQP 全新子产品,全面兼容 RabbitMQ 开源产品以及 AMQP 标准协议,用户得以在享用开源技术红利的同时,免去部署和运维方面的投入。同时,消息队列 RocketMQ 采用全新的HTTP Restful标准,并推出 7 种多语言客户端,包括Java / C++ / .NET / PHP / Go / Node.js / Python,打破了消息传递过程中的瓶颈,帮助用户实现多通讯协议、多语言环境下的消息传递需求。
消息中间件是分布式系统下消息传递的基础组件,但开发者在使用开源消息中间件的过程中会遇到集群能力受限于单机上限、单队列无法扩容,抗推积能力差、影响稳定性,以及部署运维成本高、缺乏成熟的运维管理工具等痛点。
上线消息队列 AMQP
消息队列 AMQP 是一个分布式消息队列服务,基于AMQP标准协议,由 AMQP Proxy 集群、RocketMQ NameServer 集群和 RocketMQ Broker 集群三部分构成,具有高吞吐量、低延迟和高可扩展性等特点。
优化消息堆积
在消息的生产者持续高速发送的情况下,一旦消费者消费速度减弱,会出现消息堆积,进而影响到消息的推送性能和业务整体的稳定性。消息队列 AMQP 支持消息的海量堆积,不会出现因为消息堆积而导致内存溢出的情况,避免服务抖动甚至不可用,同时,消费者数据和生产者的数据生产速度完全解耦,生产者不需要限流,便可减少上游数据失败,提高系统的整体稳定性。
消息重试优化
RabbitMQ 具备消息重试机制,但该方式会导致消费线程堵塞,以及如果在失败重试的过程中宕机,会出现重试不起作用的情况。消息队列 AMQP 通过便捷、可动态配置,以及加权处理,保护业务不被击穿;同时,借助死信队列机制,处理被拒绝的消息、过期消息和队列达到最大长度的信息,确保信息不丢失。
消息队列 MQ 客户端语言新增至 7 种
伴随着越来越多来自不同行业的客户开始使用消息队列 MQ,以及大数据、物联网等新应用场景的诞生,多语言客户端和兼容 HTTP Restful 标准成为用户呼声较高的产品需求,此次发布会上,消息队列MQ采用全新的 HTTP Restful 标准,并推出 7 种多语言客户端,包括Java 、 C++ 、 .NET 、 PHP 、 Go 、 Node.js 和 Python,帮助用户更方便易、快速的接入消息队列 MQ,并提高了跨网络能力。
至此,阿里云消息队列MQ已推出消息队列RocketMQ、微消息服务MQTT、消息队列Kafka、消息队列AMQP和消息服务MNS五类消息服务和产品,融合了Kafka和AMQP生态,覆盖互联网、金融、物联网等场景,旨在帮助用户构建分布式应用的基础设施,实现消息传递无边界。
本文作者:中间件小哥
阅读原文
本文为云栖社区原创内容,未经允许不得转载。