一、为什么要用消息队列。
因为resilience
如果不用消息队列,直接放在内存队列消费,有可能这个服务区down了,那内存的东西就都没了。
或者这个内存的队列,如果另外的消费队列的服务出故障了,而内存的队列越来越多,也会出现问题。
可以参看
https://stackoverflow.com/questions/2868800/what-is-an-mq-and-why-do-i-want-to-use-it/2869443#2869443
二、什么是吞吐量
Little's law 先理解下这个
https://baike.baidu.com/item/%E5%88%A9%E7%89%B9%E5%B0%94%E6%B3%95%E5%88%99/10340863?fr=aladdin
简单的讲就是要么 提高服务器并发处理的业务量
要么 减少服务器平均处理客户请求的时间
三、减少服务器平均处理客户请求时间
当并发处理的任务数量有限的时候,平均处理客户请求时间对于吞吐量比较重要了。要知道数据的序列号,反序列化,传递消息,都会影响,Chronicle的优势这个时候就出来了,可以看下文档
https://vanilla-java.github.io/2016/03/26/Microservices-in-the-Chronicle-World-Part-3.html