Skip to content
Beta版厨子3.0® edited this page Nov 15, 2016 · 2 revisions

基本概念:

  • Topic

    消息的主题比如 Trade则为消息主题,一般可以定义为某种业务类型

  • MessageType

    基于Topic下一级更细粒度的消息划分,一般可以定义为业务下的具体某种操作、状态

  • GroupId

    Group是针对消息发送方、消息接收方最小组建单元,同组内代码一致、功能对等的一组集群。KiteQServer面对的也就是以组象。通常以ps-xxx-group、p-xxx-group、s-xxx-group方式存在在客户端端代码中

  • Binding

    订阅关系,描述订阅某种消息类型的数据结构,用于维持订阅方KiteQServer之间的凭据。

    订阅关系存在三种形式:Direct、Regex、Fanout

    Direct(直接订阅): 只接受指定Topic下,完全对等MessageType的消息

    Regex(正则匹配订阅): 只接受指定Topic下,根据正则匹配MessageType的消息

    Fanout(广播订阅): 接收指定Topic下的所有消息。

  • Consumer :

    消息接收方,获取消息后处理业务逻辑,最小组成单位为组(GroupId),通常以s-xxx-group命名组名称

  • Producer :

    消息发送方、同时接收2PC消息的事务提交或回滚确认消息,最小组成单位为组(GroupId),通常以p-xxx-group命名组名称

  • 持久订阅、非持久订阅

    持久订阅 : 分组集群内的机器哪怕是全部离线,消息也不会丢弃,客户端上线后,KiteQ依然会推送。

    非持久订阅:分组集群内的机器全部离线,消息不会保留,直接丢弃