5 我的理解是,尽管我的项目不是分布式微服务架构,但是为了避免单点故障,项目设计为多服务端。 削峰填谷:秒杀服务可能产生大量的异步处理逻辑,当任务数量过大,线程池的内存队列无法承载大规模任务,还可能导致系统崩溃(有界队列装不下,无界队列爆内存),而引入 mq 中间件则不会有这个问题,即使生产者和消费者在同一台服务器实例上,也可通过参数控制消费速率防止服务突然崩溃。 任务丢失:一旦某一台服务端挂掉,其中线程池队列上还未执行的任务会完全丢失,引入 mq 可以保证数据可靠性,这也符合多服务端设计的逻辑,即避免单点故障。 不知道这样理解对不对。
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务