在 GridGain 6 中,我可以在远程节点上获取 GridStreamer 实例并使用它来添加事件吗?
这个想法是我需要一个节点,它可以为流处理生成数据,但不参与处理本身。
使用 StreamConfiguration 部分启动的所有节点都会自动参与事件处理。如果节点在没有 StreamConfiguration 部分的情况下启动 - 那么它的 Grid 实例看不到其他流媒体。
GridClient 似乎不支持流式传输
在 GridGain 6 中,我可以在远程节点上获取 GridStreamer 实例并使用它来添加事件吗?
这个想法是我需要一个节点,它可以为流处理生成数据,但不参与处理本身。
使用 StreamConfiguration 部分启动的所有节点都会自动参与事件处理。如果节点在没有 StreamConfiguration 部分的情况下启动 - 那么它的 Grid 实例看不到其他流媒体。
GridClient 似乎不支持流式传输
您无法在未配置此特定流媒体的节点上获取流媒体实例。但是,您可以通过提供不会在不应该参与事件处理的节点上路由事件的 GridStreamerEventRouter 轻松实现您的要求。
例如,您可以使用带有谓词的随机事件路由器,该谓词将按用户属性过滤节点(您可以使用 GridConfiguration.setUserAttributes(...) 为节点设置用户属性):
GridStreamerConfiguration streamCfg = new GridStreamerConfiguration();
//...
streamCfg.setRouter(new GridStreamerRandomEventRouter(new GridPredicate<GridNode>() {
@Override public boolean apply(GridNode node) {
return !"CLIENT".equals(node.attribute("STREAMER_ROLE"));
}
}));