1 
                    
                    IvanLi127      2022-08-15 00:39:41 +08:00 via Android 
                    
                    这。。。大概可以理解成: 
                在 A 时预加载 B 的数据,并在 B 被调用时使用这个数据。 你可以让客户端或者 A 所在服务调用 B 所在服务,或者通过消息队列通知给 B 所在的服务。 然后,你只要在 B 服务实现预加载或者是缓存功能就好了。  | 
            
     3 
                    
                    maxthon   OP 可以认为 A 和 B 在同一个 web service 中,但是这个 service 会有很多 server (或者 instance ) 
                 | 
            
     4 
                    
                    libook      2022-08-15 10:41:16 +08:00    既然已经跨实例了,就已经脱离语言本身的范畴了,需要使用系统架构来满足需求。 
                你得到了 redis pub/sub 的方法,就直接用这个方法呗。  | 
            
     5 
                    
                    lmshl      2022-08-15 12:12:42 +08:00    建议负载均衡层面根据 token 做 sticky session ,这样就能保证客户端短时间请求始终转发到同一个 instance 中去了。 
                内存里用 Map 简单缓存一下这个 Promise ,记得把时间也记录下来,定期清理掉过期的 Promise 防止泄漏  | 
            
     6 
                    
                    lmshl      2022-08-15 12:14:25 +08:00 
                    
                    在这个基础上再实现一个 fallback 机制,极端情况下,前一个 instance 凑巧被杀死了,后一个缓存里读不到 Promise 的时候还是需要走全流程 
                 |