在RocketMQ中使用了外观模式,对外提供简洁的高层次接口。
具体来说:
高层次接口
RocketMQ提供了如下高层次的接口:
- DefaultMQProducer:用于创建生产者。
- DefaultMQConsumer:创建消费者。
- MQAdmin:管理TOPIC和BROKER。
- Message:表示一条消息。
- RemotingClient:连接到消息代理。
- 等等。
这些接口隐藏了内部复杂细节,只对外提供必要的方法。
外观模式
这些接口是外观,屏蔽了RocketMQ内部实现的复杂性:
- DefaultMQProducer内部创建了
MQProducerImpl
。 - DefaultMQConsumer内部创建了
MQConsumerImpl
。 - MQAdmin屏蔽了TOPIC和BROKER的具体管理细节。
- Message隐藏了消息的真实存储格式。
- 等等。
正是通过这些外观,用户可以只关注必要的功能。而不用关心内部实现。
提供简单的接口
相比于原生的MQ接口,RocketMQ提供了更简单易用的接口:
- 简化的生产者和消费者
- 少 quantidade 参数
- 提供丰富的异常处理
- 内部实现负载均衡、集群管理等
总的来说 可以结论:RocketMQ 通过外观模式,对外提供简洁的高层次接口。隐藏内部实现细节,只对外暴露必要的功能点。