消息队列MQ-顺序消息全新升级
有效解决消息发布及消费的顺序性问题,保证消息收发正确性
类型多样
支持全局顺序以及分区顺序两种,满足业务的差异化需求。
高性能&可扩展
分区顺序在保证顺序的同时,通过分区设计提高整体并发度,具有与普通消息一致的平滑扩容能力,无严格上限。
严格保序
无论是服务上下线、扩缩容,网络不稳定等情况下, 始终保证消息的严格有序,优于部分开源产品。
关于全局顺序:
对于指定的一个 Topic,所有消息按照严格的先入先出(FIFO)的顺序进行发布和消费。
适用场景
对于性能要求不高的全局性业务场景,如:证券交易平台中,同一股别的交易是全平台按照订单的创建时间顺序进行交易,则可以采用全局顺序。
关于分区顺序
对于指定的一个 Topic,所有消息根据 sharding key 进行区块分区。 同一个分区内的消息按照严格的 FIFO 顺序进行发布和消费。
适用场景
对于性能要求高,非全局性有序,可拆分出最小有序单元的系统,如:电商系统,一个完整的订单处理流程为最小有序单元,以订单 ID 作为 sharding key,那么同一个订单相关的创建订单消息、订单支付消息、订单退款消息、订单物流消息都会按照先后顺序来发布和订阅。
某健康APP
业务挑战
自建开源消息,随着客户端数量和消息并发量的上升, 对于消息服务器的性能和稳定性要求提出了非常大的考验。1.
应用服务端与推送服务强耦合。当推送服务不可用时,造成整个业务系统无法推送,甚无法正常工作。2.
对于消息排序,不能很好地保证数据会按照特定的顺序来处理。3.
客户心声
方便快捷,搭建快,稳定性高,有效保证业务稳定性与数据一致性;1.
零维护省去大量维护成本,可以动态增加队列,能很好满足不断变化的业务需求。2.
某创业电商APP
业务挑战
传统的设计,用户的请求都会被直接写入数据库或文件中,在高并发的情形下会对服务器造成巨大的压力, 同时,网站响应速度延迟加剧,用户体验差。1.
未使用顺序消息时,不能很好地处理缓存和DB的一致性问题,不能很好地进行不串行处理,偶尔出现支付成功,但是下单失败的情况。2.
客户心声
利用binlog同步与阿里云MQ顺序消息产品,非常轻松第解决缓存一致性问题。1.
相对以往通过增加服务器解决并发问题而言,消息队列MQ以极低成本,免运维、高可用等优势很好地解决也业务难题。2.