应用案例:
微信红包
详细介绍:https://cloud.tencent.com/product/mq#userDefined12rabbitmq消息发送接收原理:
参见官网:http://www.rabbitmq.com/getstarted.html
消息的几种发送接收类型
exchange有四种类型:分别是Direct exchange、Fanout exchange、Topic exchange、Headers exchange。
几个概念说明:?
Broker:它提供一种传输服务,它的角色就是维护一条从生产者到消费者的路线,保证数据能按照指定的方式进行传输,?
Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。?
Queue:消息的载体,每个消息都会被投到一个或多个队列。?
Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来.?
Routing Key:路由关键字,exchange根据这个关键字进行消息投递。?
vhost:虚拟主机,一个broker里可以有多个vhost,用作不同用户的权限分离。?
Producer:消息生产者,就是投递消息的程序.?
Consumer:消息消费者,就是接受消息的程序.?
Channel:消息通道,在客户端的每个连接里,可建立多个channel.
高可用部署方案有两种模式:普通模式和镜像模式
? ? 集群类型:普通集群、镜像集群
普通集群:结构同步,消息实体只存在一个节点中,但consumer在非消息节点获取是,节点间存在消息拉取,易产生性能瓶颈。镜像集群:集群中一个master,负责调度,处理消息实体,其他节点保存一份数据到本地;性能主要靠master承载。参考官网文档:http://www.rabbitmq.com/clustering.html#starting
运维管理:
rabbitmq提供管理的web插件
rocketmq消息发送接收原理:
高可用集群部署方案,broker部署主从模式
运维管理:
rocketmq提供管理的web-console
消息发送接收机制:
参考各大云平台对Kafka的使用说明可以看出kafka适合于海量数据的处理系统中
官方使用案例说明:http://kafka.apache.org/uses
参考:CMQ后台
CMQ是rabbitmq的升级版,支持mq的消息回溯,对消息的超时策略等做了简单的优化
腾讯云平台使用地址:https://console.cloud.tencent.com/mq/index?rid=1
cmq队列参数为:
y
添加主题订阅可以设置重试的策略:
订阅地址官方文档中说明:目前推送服务不能推送到私有网络中,因此 endpoint 填写为私有网络域名或地址将接收不到推送的消息,目前支持推送到公网和基础网络。