【九月打卡】第21天 多端全栈项目实战
课程名称:多端全栈项目实战:商业级代驾全流程落地
课程章节: 华夏代驾全栈小程序实战
课程讲师: 神思者
课程内容:
RabbitMQ
课程收获:
RabbitMQ发展到今天,被越来越多的人认可,这和它在可靠性、可用性、扩展性、功能丰富等方面的卓越表现是分不开的。它非常重量级,更适合于企业级的开发。同时实现了Broker构架,这意味着消息在发送给客户端时先在中心队列排队。对路由,负载均衡或者数据持久化都有很好的支持。
RabbitMQ和Kafka
仅仅考虑性能是不够的 我们还要权衡业务场景。例如RabbitMQ具有对消息的过滤功能,而Kafka则不能对Topic中的消息做过滤。也就是说消费者要接受该Topic中所有的消息。RabbitMQ允许我们对消息设置TTL过期时间,如果超过TTL时间,那么RabbitMQ会自动销毁队列或者主题中的消息。这个功能特别实用,
举例 :一个用户10年前注册了微博帐户,在这10年中,微博会给该用户发送非常多的公告通知,但是该用户迟迟不上线。想这样的幽灵用户,微博系统中还有上百万。你说微博系统有必要把这些幽灵用户的公告消息永久保存吗?没必要是吧,所以我们用RabbitMQ缓存公告消息,超过1年就自动销毁。这样微博系统就不用长期持久保存那些幽灵用户的公告通知了。
简单模式:
没有交换机,只有队列,生产者发送消息,消费者接收消息,完全是一对一的关系
工作队列模式:
与简单模式相比,多了一个或一些消费端,多个消费端共同消费同一个队列中的消息,这些消费者是竞争关系,也就是一条消息只能被其中一个消费者消费
发布订阅模式
该模式必须使用交换机,交换机需要与队列进行绑定,绑定后,一个消息可以被多个消费者都收到,交换机可以控制消息到底是发送给所有绑定的队列,还是发送给特定的队列,我们可以自己设置
路由模式
这是发布订阅的增强版,我们可以把多个routing key分配给同一个消息队列,只要其中一个的routingkey满足,交换机就会转发消息
通配符模式
这是路由模式的争强版,我们给routing key设置了通配符。只要符合某个通配符,交换机就会转发消息。例如a.#这个消息就会被转发给两个消息队列,如果是b.#这个消息只能发送给消息队列2,这就是通配符的效果。
共同学习,写下你的评论
评论加载中...
作者其他优质文章