rocketmq 介绍(一)

消息队列的作用

  1.消峰:当业务处在高峰期时,将数据先暂存,利用这个缓冲机制,再慢慢处理。

  2.解耦:低耦合的业务可以延后处理。解耦带来的好处就是:提高系统的可用性

  3.消息分发:发送消息给多个接收端接收。

基本概念

  概念地址

  主要由三块组成:生产者(发送消息)

          消费者(接收处理消息)

          broker(存储消息)

 

特性

  发布与订阅:

    发布:某个生产者向某个topic 发送消息,

    订阅:某个消费者订阅某个topic带有某些tag的信息。从而消费生产者生产的信息。

  消息顺序:

    某些情况下需要保证消息的消费顺序,例如 创建订单,付款,配送。消费要按照这种顺序才是合理。但是多个订单又能同时消费。

    顺序消息分为全局顺序分区顺序

    全局顺序:对于指定的一个 Topic,所有消息按照严格的先入先出(FIFO)的顺序进行发布和消费。 适用场景:性能要求不高,所有的消息严格按照 FIFO 原则进行消息发布和消费的场景

    分区顺序:对于指定的一个 Topic,所有消息根据 sharding key 进行区块分区。 同一个分区内的消息按照严格的 FIFO 顺序进行发布和消费。 Sharding key 是顺序消息中用来区分不同分区的关键字段,和普通消息的 Key 是完全不同的概念。 适用场景:性能要求高,以 sharding key 作为分区字段,在同一个区块中严格的按照 FIFO 原则进行消息发布和消费的场景。

    

  

 

上一篇:PHP多进程编程(三) 管道通信2


下一篇:页面置换算法之 FIFO算法