同步架构:
这种架构模式在处理请求时,当请求来了直接处理,处理完成将结果返回给客户端。在结果没有返回给客户端之前,客户端处于同步阻塞等待状态。如果请求量非常大,数据库就会成为瓶颈。因为这个问题。
异步架构:
异步架构是客户端发出请求,业务还没有处理完,在Broker的地方,就给客户端返回结果,客户端不需要等待调用处理完成,可以继续进行自己后续的操作。
参考文章:https://copyfuture.com/blogs-details/20190606165641606pu1wr61krdfykiq
分布式:多台服务器合作完成业务处理,一个业务流程中,每一个服务器完成一部分。
异步队列:有一个中间者,服务器和服务器之间的中间者。
异步队列架构应用图:
生产者、 Broker、消费者,属于三个不同的进程。
生产者:一个程序,可以往Broker中写入内容。
Broker:异步队列,例如RabbitMQ、Kafka、Redis、ActiveMQ、RocketMQ。
消费者:从异步队列中获取数据,做业务逻辑处理。
大数据高并发架构图:
分布式异步队列的优缺点:
优点:
1.异步处理,响应快,增加了数据库(服务器的承载能力);
2.削峰,把流量的高峰分解到不同的时间段处理;
3.解耦,增加程序的可扩展性,让UI和业务独立演化;
4.高可用性,单个处理器发生故障,不影响其他的处理器。
缺点:
1.相对于单体架构来说,异步架构增加了程序的复杂性;
2.降低程序处理的及时性,对用于体验大打折扣(例如商城抢购手机,等一段时间后告知商品已售完);
3.所有的处理都要经过异步队列,更加依赖异步队列。