RocketMQ中外观模式:对消息服务提供高层次的接口与隐藏细节

在RocketMQ中使用了外观模式,对外提供简洁的高层次接口。

具体来说:

高层次接口

RocketMQ提供了如下高层次的接口:

  • DefaultMQProducer:用于创建生产者。
  • DefaultMQConsumer:创建消费者。
  • MQAdmin:管理TOPIC和BROKER。
  • Message:表示一条消息。
  • RemotingClient:连接到消息代理。
  • 等等。

这些接口隐藏了内部复杂细节,只对外提供必要的方法。

外观模式

这些接口是外观,屏蔽了RocketMQ内部实现的复杂性:

  • DefaultMQProducer内部创建了MQProducerImpl
  • DefaultMQConsumer内部创建了MQConsumerImpl
  • MQAdmin屏蔽了TOPIC和BROKER的具体管理细节。
  • Message隐藏了消息的真实存储格式。
  • 等等。

正是通过这些外观,用户可以只关注必要的功能。而不用关心内部实现。

提供简单的接口

相比于原生的MQ接口,RocketMQ提供了更简单易用的接口:

  • 简化的生产者和消费者
  • 少 quantidade 参数
  • 提供丰富的异常处理
  • 内部实现负载均衡、集群管理等

总的来说 可以结论:RocketMQ 通过外观模式,对外提供简洁的高层次接口。隐藏内部实现细节,只对外暴露必要的功能点。