摘要:
【Broker端进行消息过滤】 在Broker端进行消息过滤,可以减少无效消息发送到Consumer,少占用网络宽带从而提高吞吐量。 【过滤方式1——通过Tag过滤】 [ 关于Tag和Key ] 对一个应用来说,尽可能只用一个Topic,不同消息子类型用Tag来标识,每条消息只能有一个Tag,服务端 阅读全文
摘要:
【顺序消息】 顺序消费是指消息的产生顺序和消费顺序相同。 比如订单的生成、付款、发货,这三个消息必须按顺序处理才可以。 【顺序消息的分类】 全局顺序消息和部分顺序消息。 上面订单的例子,其实是部分顺序消息,只要保证同一个订单ID的三个消息能顺序消费即可。 【全局顺序消息】 【部分顺序消费】 在实际的 阅读全文
摘要:
【Broker简述】 Broker是RocketMQ的核心,大部分“重量级”的工作都是由Broker完成的,包括: 1.接受Producer发过来的消息; 2.处理Consumer的消费信息请求; 3.消息的持久化存储; 4.消息的HA机制; 5.服务端的过滤功能。 【消息存储】 分布式消息队列因为 阅读全文
摘要:
【NameServer简述】 对于一个消息队列集群来说,系统由很多机器组成,每个机器的角色、IP地址都不相同,而且这些信息是变动的(如在某些情况下,会有新的Producer或Consumer加入)。 NameServer的存在主要是为了解决这类问题,由NameServer维护这些配置信息、状态信息, 阅读全文
摘要:
【不同类型的消费者】 DefaultMQPushConsumer 由系统控制读取操作,收到消息后自动调用传入的处理方法来处理。 DefaultMQPullConsumer 读取操作中的大部分功能由使用者自动控制。 【DefaultMQPushConsumer的使用】 [特点] 1.系统收到消息后自动 阅读全文
摘要:
【生产者的不同写入策略】 生产者向消息队列里写入数据,不同的业务需要生产者采用不同的写入策略: 同步发送、异步发送、延迟发送、发送事务消息等。 【DefaultMQProduce示例】 [ 提示:设置Instance ] 当一个JVM需要启动多个Producer的时候,通过设置不同的Instance 阅读全文
摘要:
【消息队列的功能介绍】 分布式消息队列可以提供应用解耦、流量削峰、消息分发、保证最终一致性、方便动态扩容等功能。 【MQ使用场景1——应用解耦】 复杂的系统如电商系统,会存在多个子系统,如订单系统、库存系统、物流系统、支付系统。如果各个子系统之间耦合性太强,会导致整体系统的可用性大幅降低,多个低错误 阅读全文
摘要:
【多版本作用】 当一个接口实现,出现不兼容升级时,可以用版本号过渡。 版本号不同的服务之间不能引用。 【版本迁移方式】 1.在低压时间段,先升级一半Provider为新版本。 2.再将所有消费者升级为新版本。 3.然后将剩下一半提供者升级为新版本。 【相关配置】 [ 老版本——Provider 配置 阅读全文
摘要:
【为什么要服务分组?】 当一个接口有多种实现时,可以用group区分。 【 Provider 的配置信息】 【Provider 启动服务】 【 Consumer 配置信息】 【Consumer 消费服务】 【注意】 Consumer只能消费与自己服务分组相同的Provider的服务 阅读全文
摘要:
转载:https://www.jianshu.com/p/453c6e7ff81c 分布式消息系统作为实现分布式系统可扩展、可伸缩的关键组件,需要具有高吞吐、高可用等特点,而谈到消息系统的设计,就回避不了两个问题: RockerMQ作为阿里开源的一款高性能、高吞吐的消息中间件,它是怎样来解决这两的问 阅读全文