JAVA全系列 教程
3762个小节阅读:7094.8k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
相对消费者而言,生产者的使用更加简单,一般主要关注消息类型、消息发送方法即可正常使用RocketMQ发送消息。
消息类型 | 优点 | 缺点 | 备注 |
---|---|---|---|
普通消息 (并发消息) | 性能最好。单机 TPS 的级别为100000 | 消息的生产和消费都无序 | 大部分场景适用 |
分区有序消息 | 单分区中消息有序,单机发送 TPS万级别 | 单点问题。如果 Broker宕机则会导致发送失败 | 大部分有序消息场景适用 |
全局有序消息 | 类似传统的 Queue,全部消息有序,单机发送 TPS 千级别 | 单点问题。如果 Broker宕机则会导致发送失败 | 极少场景使用 |
延迟消息 | RocketMO 自身支持,不需要额使用组件,支持延迟特性 | 不能根据任意时间延迟,使用范围受限。Broker 随着延迟级别增大支持越多,CPU压力越大,延迟时间不准确 | 非精确、延迟级别不多的场景,非常方便使用 |
事务消息 | RocketMQ 自身支持,不需要额外使用组建支持事务特性 | RocketMO 事务是生产者事务,只有生产者参与,如果消费者处理失败则事务失效 | 简单事务处理可以使用 |
发送方法 | 优点 | 缺点 | 备注 |
---|---|---|---|
send(Message msg) 同步 | 最可靠 | 性能最低 | 适用于高可靠场景 |
send(Message msg,MessageQueue mq) | 可以发送顺序消息 | 单点故障后不可用 | 适用于顺序消息 |
send(Message msg,MessageQueueSelectorselector, Object arg) | 队列选择方法最灵活 | 比较低级的接口,使用有门槛 | 特殊场景 |
sendOneway(Message msg) | 使用最方便 | 消息有丢失风险 | 适用于对消息丢失不敏感的场景 |
send(Collection | 效率最高 | 发送失败后降级比较困难 | 适用于特殊场景 |