RabbitMQ的产生就是为了解决金融系统的系统存储转发功能。保证高性能,可靠性,等。
接下来说说应用背景:
1.异步运行,比如一个系统,注册后,发送邮件,和发送短信,串行去执行,那么客户端就必须等待都做完后,才返回,那么为了提高性能,用RabbitMQ来并行处理就好,将发送邮件和发送短信放入队列中,再让相应的模块处理,解耦,分工合作,减少处理时间。
2.保证消息不丢失。持久化。如果一个订单系统下单成功后,去调用库存系统,这个库存系统故障了,那么这一次下单的信息将丢失,可能导致这一笔交易失败。那么引入RabbitMQ将订单下单成功后的消息放入库存系统,做持久化存储,那么就算库存系统故障了,等恢复后,也能继续处理这些消息。
3.流量削峰。这在秒杀系统,或在应对高并发带来的影响,可能导致服务器不工作,那么引入消息队列,将高并发下的请求存入RabbitMQ,当队列满,直接返回错误信息,系统不断处理消息队列中的信息,达到削峰。
既然有这么多好处,那我们还是赶紧学习去吧。
https://www.rabbitmq.com/#getstarted 直接开始hello world demo.
RabbitMQ分为服务器端和客户端。客户端可以往服务器存入数据和取出数据。
1.windows下载RabbitMQ,这时要求必须先安装Erlang语言。
http://www.erlang.org/downloads //先下载Erlang
https://www.rabbitmq.com/download.html //RabbitMQ下载页面。安装可能还需要配置一下https://www.cnblogs.com/zhangweizhong/p/5689209.html
https://www.rabbitmq.com/tutorials/tutorial-one-java.html 按着这个来写就能完成