功能特性 本文带您了解分布式消息服务RocketMQ的功能特性。 消息生产 消息压缩:将较大的消息进行压缩后发送到服务端,有效利用带宽。 延迟消息:设计消费时延,消息发送到服务端后,过了预设时间才可以被消费。 事务消息:根据预设的事务,事务消息可保证分布式系统之间的数据最终一致。 消息消费 有序消费:支持普通有序消息和严格有序消息两种方式。 集群消费:一个主题可被一个或多个消费者组消费,消费者组中消费者实例可平均分摊消费信息。 消费位置设置:支持设置消费组首次启动消费的位置,包括队列头、队列尾及由客户端指定。 消息回溯:支持按时间回溯消费进度,将订阅组在某主题上的消费进度重置到过去或者未来。 完善的运维能力 应用用户管理:集群租户隔离,应用接入集群权限管理。 主题管理:支持对实例下的主题进行管理,执行创建删除等操作。 订阅组管理:支持对实例下的订阅组进行管理。 生产者和消费者管理:用户可查看当前实例下的生产者和消费者信息,并实时更新。 消息查询:按消息ID、消息逻辑偏移量、消息key。 完善的运维功能,节点状态检测、启停;实例状态检测、启停;SLA监控等。 顺序消息 顺序消息是指消费消息的顺序要同发送消息的顺序一致,在RocketMQ中,主要有两种有序消息:全局有序消息和局部有序消息(又称普通有序消息、分区有序消息)。 普通有序消息:在正常情况下可以保证完全的顺序消息,但是一旦发生通信异常造成Broker重启,队列总数发生变化,哈希取模后定位的队列会变化,因此会产生短暂的消息顺序不一致。如果业务能容忍在集群异常情况(如某个Broker宕机或者重启)下消息短暂的乱序,使用普通顺序方式比较合适。 严格有序消息:无论正常异常情况都能保证顺序,但是牺牲了分布式Failover特性,即Broker集群中只要有一台机器不可用,则整个集群都不可用(或者影响hash 值对应队列的使用),服务可用性大大降低。如果服务器部署为同步双写模式,此缺陷可通过备机自动切换为主避免,不过仍然会存在几分钟的服务不可用。
来自: