消息队列
1:消息队列是什么
消息队列就是:把消息以先进先出的数据结构存入队列中,产生消息的叫生产者,消费消息的叫消费者
2:消息队列能做什么,可以用在哪些场景
消息队列可以为我们解决系统直接的解耦、异步、削峰/限流
解耦指的是:A系统只需要把消息写入队列中,提供其他系统调用,达到各个系统互不影响
异步指的是:A系统只管将消息写入队列中后,做自己的业务,其他系统异步去消费消息,提高用户体验
削峰/限流指的是:所有的并发请求都先写入队列,其他系统根据自己处理并发请求数量,去队列中取,这样就可以防止请求过多导致系统奔溃
可以用到秒杀,下订单等应用场景
3:使用消息队列有什么问题
防止消息队列奔溃,需要做高可用,集群做副本
防止生产者数据丢失,需要做数据持久化到磁盘中
防止消息重复消费,可以将消费的数据存入Redis,每次消费之前查询Redis是否已存在消费过的数据,如果有则数据重复不在消费
4:常用消息队列中间件
消息队列中间件:Kafka和RabbitMQ
5:RabbitMQ介绍
访问地址:https://www.cnblogs.com/woadmin/p/10537174.html
6:Kafka介绍