RabbitMq使用场景
1.解耦,削峰异步
串行方式;业务1先完成,在完成业务2,然后完成业务3 1 2 3都没问题都返回给客户端
public class Events{
业务1先完成,
在完成业务2,
然后完成业务3
}
2 并行执行 异步线程池
public class relationMessage(){
异步执行
threadPool.submit(new Callable<Object>){
public Object call(){
业务1
}
}
threadPool.submit(new Callable<Object>){
public Object call(){
业务2
}
}
threadPool.submit(new Callable<Object>){
public Object call(){
业务3
}
}
}
上面1是串行执行效率低 2是并行执行但是线程池要自己创建和维护不能做到高可用
所以使用消息队列
使用消息队列异步执行不阻塞
流量的削峰
一点点学习,一丝丝进步。不懈怠,才不会被时代淘汰