老师, 6-11小节提到的 外部请求使用异步队列具体怎样实现呢

来源:6-11 5个GC实战场景的解决方案

文武双全的刘叔叔

2021-06-24

是在自己程序中创建一个任务队列,让线程池去处理来保证同一时刻与外部服务只有少数 socket吗?

写回答

1回答

求老仙

2021-06-24

一般一批线程处理缓冲(排队),缓冲可以是内存,但是mq和redis更安全,因为提供持久化机制。另一批线程处理具体的工作,也就是不断从队列中读出任务进行处理

0
2
求老仙
回复
文武双全的刘叔叔
请求没有必有去Redis,因为请求本身不怕失败(比如说0.003%的失败率,是可以接受吧?)。——客户端、或者服务端可以重发请求的。 所以请求本身丢到阻塞队列就可以了。 以nginx为例,nginx就内存中实现了一个缓冲区,然后由多个Worker轮询从缓冲区中读取请求。
2021-07-14
共2条回复

笑傲Java面试 剖析大厂高频面试真题 秒变offer收割机

深度剖析大厂面试高频真题,让你秒变offer收割机

1783 学习 · 314 问题

查看课程