请问,java高手,有精通阿里云Mq消息队列的吗?
非也,我精通阿里云的MQ,从开始我就在用。
在Java后台代码,有生产者和消费者,也就是消费者和生产者都在后端,非JS什么的。
最好的实现方式你看阿里MQ的Spring集成方式。创建生产者,然后创建消费者,当然,生产者和消费者可以分开实现。消费者可以N个,生产者也可以N个,达到均衡和分布式的效果!
更多追问追答
追问
谢谢你,你的意思是js端无法接收阿里云的消息队列,不能像websocket一样发生和接收吗?
追答
那需要你自己解决了,你自己websocket+你的后台实现,然后后台再和队列实现!
追问
哦,谢谢您的指点,恕小弟愚昧,阿里云的消息队列mq有什么作用,为什么要用它,和我们自己用后台的websocket有什么区别啊?
追答
Mq和websocket,建议你看下百度百科,这2者没有关系。不是一句2句话能说清楚。
Mq,我们一般用来处理集中的业务,在同一时间点业务过于拥挤,采用这种方式分发的方式去解决。着重于业务处理。
websocket,主要用于非阻塞形式的交互通信,我们一般用来消息通信用,比如类似于WebQQ这种效果。
追问
那我如何结合Mq来收发消息呢?比如一个用户和客服系统,用户下单后,下单消息推送到客服端,客服端接单后,通知用户接单成功,这里面有很多用户,也有多个客服
追答
用户下单后,创建完订单信息一系列工作后,把订单信息由MQ生产者push到MQ里,然后由多个MQ消费者之一消费这条信息,然后分配给空闲的客服。消息中有对应的用户信息,这能达到客服和消费者一一对应上。
mq和nacos区别
MQ消息可靠性,消息从生产者发送到exchange,再到queue,再到消费者。nacos指的是分级存储模型。
使用MQ消息中间件是否发送消息不成功怎么办
能选择的有三种:
1. ActiveMQ/ApolloMQ
优点:老牌的消息队列,使用Java语言编写。对JMS支持最好,采用多线程并发,资源消耗比较大。如果你的主语言是Java,可以重点考虑。
缺点:由于历史悠久,历史包袱较多,版本更新很缓慢。集群模式需要依赖Zookeeper实现。最新架构的产品被命名为Apollo,号称下一代ActiveMQ,目前案例较少。
2. RocketMQ/Kafka
优点:专为海量消息传递打造,主张使用拉模式,天然的集群、HA、负载均衡支持。话说还是那句话,适合不适合看你有没有那么大的量。
缺点:所谓鱼和熊掌不可兼得,放弃了一些消息中间件的灵活性,使用的场景较窄,需关注你的业务模式是否契合,否则山寨变相使用很别扭。除此之外,RocketMQ没有.NET下的客户端可用。RocketMQ身出名门,但使用者不多,生态较小,毕竟消息量能达到这种体量的公司不多,你也可以直接去购买阿里云的消息服务。Kafka生态完善,其代码是用Scala语言写成,可靠性比RocketMQ低一些。
3. RabbitMQ
优点:生态丰富,使用者众,有很多人在前面踩坑。AMQP协议的领导实现,支持多种场景。淘宝的MySQL集群内部有使用它进行通讯,OpenStack开源云平台的通信组件,最先在金融行业得到运用。
缺点:Erlang代码你Hold得住不? 虽然Erlang是天然集群化的,但RabbitMQ在高可用方面做起来还不是特别得心应手,别相信广告。
消息中间件metaq和rocketmq的区别
metaq是阿里自研的消息中间件,发展了 1.0 、2.0、 3.0后。对外开源出了一版本叫做
rocketmq。
2016 年双11 前后,阿里巴巴将RocketMQ 捐赠给Apache 基金会,吸引了全球的开源爱好者参与到RocketMQ社区中,并于2017 年9 月成为Apache 基金会的顶级项目。在开源社区的帮助下,RocketMQ 具备了对接主流大数据流计算平台、对接存储平台以及离在线数据处理的能力。
阿里云中山代理,阿里云消息队列 RocketMQ怎么样呢?
建议用kafka,会比较适合你,也建议你问问思朴科技,看他们给你提供哪些方案选择。