`

消息服务metaq Notify

 
阅读更多

Notify在设计思路上与传统的MQ有一定的不同,他的核心设计理念是
1. 为了消息堆积而设计系统。消费者出现问题是个非常常见的情况,而消息系统则必须能够在后端消费不稳定的情况下,仍然能够保证用户写入的正常并且TPS不降。
2. 无单点,可自由扩展的设计

 

MetaQ对外提供的是一个队列服务,内部实现也是完全的队列模型,这里的队列是持久化的磁盘队列,具有非常高的可靠性,并且充分利用了操作系统cache来提高性能。

  • 是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式特点。
  • Producer、Consumer、队列都可以分布式。
  • Producer向一些队列轮流发送消息,队列集合称为Topic,Consumer如果做广播消费,则一个consumer实例消费这个Topic对应的所有队列,如果做集群消费,则多个Consumer实例平均消费这个topic对应的队列集合。
  • 能够保证严格的消息顺序
  • 提供丰富的消息拉取模式
  • 高效的订阅者水平扩展能力
  • 实时的消息订阅机制
  • 亿级消息堆积能力


    n  广播消费

    一条消息被多个Consumer消费,即使这些Consumer属于同一个Consumer Group,消息也会被Consumer Group中的每个Consumer都消费一次。

    在CORBA Notification规范中,消费方式都属于广播消费。

    n  集群消费

    一个Consumer Group中的Consumer实例平均分摊消费消息,类似于JMS规范中的Point-to-Point Messaging

    特点如下:

    u  Each message has only one consumer.

    u  A sender and a receiver of a message have no timing dependencies. The receiver can fetch the message whether or not it was running when the client sent the message.

    u  The receiver acknowledges the successful processing of a message.

    n  主动消费

    Consumer主动向Broker发起获取消息请求,控制权完全在于Consumer应用。

    类似于JMS规范中描述的Synchronously方式消费

    n  被动消费

    Consumer注册一个Callback接口,由Metaq后台自动从Broker接收消息,并回调Callback接口。

    类似于JMS规范中的描述的Asynchronously方式消费

    n  顺序消息

    消费消息的顺序要同发送消息的顺序一致,在Metaq中,主要指的是局部顺序,即一类消息为满足顺序性,必须Producer单线程顺序发送,且发送到同一个队列,这样Consumer就可以按照Producer发送的顺序去消费消息。

    n  普通顺序消息

    顺序消息的一种,正常情况下可以保证完全的顺序消息,但是一旦发生通信异常,Broker重启,由于队列总数发生变化,哈希取模后定位的队列会变化,产生短暂的消息顺序不一致。

    n  严格顺序消息

    顺序消息的一种,无论正常异常情况都能保证顺序,但是牺牲了分布式Failover特性。

分享到:
评论

相关推荐

    阿里云-消息队列-产品简介.pdf

    1. **专业性**:作为业界专业消息中间件,MQ有丰富的技术积累,包括MetaQ、Notify、RocketMQ等多个产品形态,荣获多项国内外奖项,广泛应用于阿里巴巴内部核心业务。 2. **高可靠性**:消息多份存储,断电不失效,...

    万亿级数据洪峰下的消息引擎.pdf

    阿里巴巴的消息中间件发展历史可以追溯到2007年,经历了Notify、MetaQ、RocketMQ等阶段。RocketMQ是阿里巴巴自主研发的开源消息中间件,于2016年成为Apache顶级项目。 二、消息中间件核心功能设计 消息中间件的...

    Aliware-MQ培训资料

    阿里云消息队列产品包括MetaQ和Notify等内部产品,以及Apache孵化项目RocketMQ。在实际应用中,阿里云内部有超过1000个核心应用使用MQ,每天流转的消息量达几千亿。在关键场景,例如双11交易、商品、营销等核心链路...

    万亿级数据洪峰下的消息引擎——Apache RocketMQ--阿里.pdf

    自2007年起,阿里巴巴集团在消息中间件领域不断探索与实践,经历了从Notify到MetaQ再到Apache RocketMQ的发展历程。以下是这一演变过程的关键节点: - **2007年**:阿里巴巴内部启动了Notify项目,旨在解决企业内部...

    淘宝中间件

    它采用推消息模型,虽然不保证消息的顺序性和唯一性,但已成为阿里巴巴集团内部消息服务的主要承载者,负责超过90%的消息传递任务。其联系人为水寒(shuihan@taobao.com)。 Meta借鉴了LinkedIn的Kafka设计理念,是一...

    详解RocketMQ的架构设计、关键特性、与应用场景

    RocketMQ一个纯java、分布式、队列模型的开源消息中间件,前身是MetaQ,是阿里研发的一个队列模型的消息中间件,后开源给apache基金会成为了apache的顶级开源项目,具有高性能、高可靠、高实时、分布式特点。...

    十种MQ的技术选型详细对比.docx

    这些系统在企业级应用中扮演着重要的角色,用于解耦服务、提高系统的可扩展性以及保证消息的可靠传输。 #### 支持的协议对比 | MQ系统 | 支持的协议 | |----------|-------------------------------------| | ...

Global site tag (gtag.js) - Google Analytics