RabbitMQ的使用场景有哪些?

异构系统的数据传递

什么叫异构系统,就是现在有两个系统彼此要传递数据,一个用java一个用c开发的,一¥个在天津一个在北京,像这种不在一个地区又是不同语言开发的系统叫做异构系统,像这种异构系统利用mq进行数据的传递是不错的选择,但是遇到海量的数据,但是不建议使用mq进行去传递,一般mq擅长传递小规模的数据;

高并发程序的流量控制

比如像阿里的双十一进行秒杀的时候或者进行系统最忙碌的时候,进行流量控制的时候,削峰,平谷,像这种应用用mq做肯定没问题,mq是采用对列的机制,那么只允许同一时间有多少人进去,那么在这里是使用mq进行控制的;

基于p2p,p2ppp的程序

mq本身支持定阅和发布的模式或者是进行点对点消费的模式,比如使用mq进行点对点的开发,比如像自己写的qq,像微信,点对点通信,我们可以使用mq进行分发,另外就是p2ppp的程序的话,也非常适合就像我们程序底层的时候,大家看过爱奇艺什么的,那么比如喜欢一个人的频道,直接点一下关注,那么到这个人节目有更新的时候,马上订阅的人都能收到它的最新的消息,这就是通过mq的订阅与发布,这些都是mq的天生所在;

分布式系统的事务一致性TCC

分布式事务是我们开发过程中最挠头的问题,比如说什么是分布式事务,现在有5个系统,这5个系统的话要完成大的业务,那么这个大的业务,这5个系统每一个系统都完成了一小块数据,现在有需求来了,这5个系统要么全部都处理成功,要么中间有任何一个出现问题,我要把之前的系统信息全部都回滚什么都没做过,那么这就是我们的说到的分布式事务,那么分布式事务底层的话我们的设计叫tcc,那么在这里面最核心的就是基于mq进行消息的分发,来通知我们的应用,它进行提交回滚;

高可靠的交易系统

在高可靠的交易系统中,rabbitmq最值得骄傲的是高可靠性,对于应用来说mq本身就是高可靠性,同时对数据也进行了高可靠的支持,几乎不会出现数据mq的层面上丢失的情况,那么在这种高可靠的交易系统来说,rabbitmq最适合不过了,任何一个多数据进行交互的两个以上三个以上项目,进行数据传递用mq作为系统节藕的服务器是再合适不过的;

发表评论

后才能评论