我有一个处理来自 Kafka/Redis 流的数据的工作流(不同的任务)。有些任务是顺序的,有些是并行的——在高级任务中,验证->计算->传输。
这里的问题是,许多任务(在某种程度上)需要部署为微服务(在同一网络中)的 Web 服务调用,并且需要一些数据库调用来对收到的每个事件进行计算/转换。(我看到在某些计算逻辑中使用内存数据处理可以提高性能)。
Disruptor
来自's的数据库和 Web 服务调用EventHandler<T>
是开销吗?这会破坏 Disruptor 吗?如果是这样,是否可以将所需的数据(如果不是全部)保存在内存中,但对于以数据为中心的计算有帮助吗?这是 Disruptor 所期望的吗?
编辑: 经过一番思考,我确信任何此类服务或数据库调用本身都可以在计算作业之前作为另一个事件处理程序(异步)分离出来,以发出所需的必要输入。
让我知道你的想法。