适用场景:
-
解耦:(语言间解耦,应用间解耦,地域之间解耦)
-
广播:生产者只需要发送一次
-
平滑削峰:减轻上游带来的压力
基本特性:
-
消息完整性:不丢消息,数据可靠(replica副本,一个leader,两个follower,一共三个副本),至少消费一次,顺序消费(全局有序,局部有序,大致有序);
单线程生产,单线程消费可以保证绝对有序。
hash一类消息在一个分区下可以保证局部有序。
时间窗口期之间是有序的-大致有序,一个窗口期之内的消息可以多线程消费。(最高效) -
支撑业务场景
高吞吐意味着低可靠,高可靠意味着低吞吐。
容量:集群,横向扩展。
特性:延迟消息、事务消息(1.写数据库与发消息是原子的 2. 生产消息要么全成功要么全失败 3. 消费的同时投递新消息到队列中)、回溯(需要重新消费,回溯消息)、死信(消费不成功的信息放入死信队列(延迟消息),过一段时间再消费)。
公司专有特性:环境隔离、泳道、Set -
容灾
节点容灾:某个数据分片不可用
集群容灾:某个节点不可用
机房容灾:某个机房不可用
地域容灾:某个地域的机房均不可用