关于《JVM内部队列》的疑惑
SJP-github opened this issue · 1 comments
SJP-github commented
在缓存与数据库双写一致性的解决方案中提到的,将对同一数据的操作标记后路由到同一个JVM内部队列串行执行。有一些不太明白的地方,请各位大佬指点一二。
1.提到的JVM内部队列,还有的说内存队列具体指的是什么?是java中的Queue亦或是BlockingQueue?
2.将写和读请求路由到同一个队列中这个是怎么操作的?具体是个什么样的过程?
一般都是Controller接收并处理请求的啊,是把请求的URL存到队列中然后取出来执行?还是把Request对象存进去然后取出来执行?
可是,先是写请求映射到Controller具体的请求方法上才知道具体要执行什么操作;然后,又是一个读请求过来再映射到一个具体的方法上;它们自己执行自己的逻辑各不相干啊是怎么通过队列联系到一起的,有没有大佬讲下详细的过程啊,如果有伪代码demo就更棒了
yanglbme commented
@SJP-github 说的就是 Java 的队列,队列其实就是完成一个排队的功能;读请求,说的其实是“读数据+更新缓存”,说到底还是为了“更新缓存”,这和写请求,都是一个个任务,放到队列中,后台开线程处理这些任务。
文章中提到的“更新数据、读取数据、更新缓存”,可能会有点混淆,但只要仔细阅读,应该还是能理解的。