我从头开始尝试将vertx事件总线集成到React / Redux应用程序中。我的第一个问题是事件总线的生命周期是什么?
当索引页面首次加载时是否会打开一个实例,并在用户浏览单页应用程序时保持打开状态?如果是这样,我如何为可能需要它的每个组件提供事件总线?我计划在各种React组件中使用服务代理。
答案 0 :(得分:3)
如果您对会话使用vert.x服务器端身份验证,则应在登录完成后打开网桥。这可确保将正确的用户映射到请求。如果您的消息是公开的,则可以在组件安装时打开。
一般来说,网桥将打开一个网络套接字,这不是什么大问题,但是在片状连接或旧客户端上,网桥将回退到汇集ajax。这可能是您的应用程序(前端)的一个问题,因为它正在使用浏览器池中的http连接。
服务代理不消耗任何资源(可以这么说),它们只是通过共享事件总线桥对消息进行编码和解码。
也许逻辑思路是将事件总线绑定到事件,组件将挂载/卸载,因此只在需要时才使用资源。
请记住,如果您执行此操作并且未安装组件,则无法从服务器推送,因为没有处理程序将侦听。
最后一切都取决于你想要解决的问题。