内存并行
每个程序单独的独立内存空间允许 Gear 节点上的消息处理并行化。并行处理流的数量等于 CPU 核数。每个流处理用于一组已定义程序的消息。它涉及从其他程序或外部发送的消息(用户事务)。
例如,给定一个消息队列,其中包含针对100个不同程序的消息,Gear 节点运行在一个配置了2个处理线程的网络上。Gear 引擎使用运行时定义的流数量(等于一个典型的验证机上的 CPU 核的数量),将目标程序的总数除以流的数量,并为每个流创建一个消息池(每个流50个程序)。
程序被分发到不同的流中,每个消息出现在定义了目标程序的流中。因此,所有发给特定程序的消息都出现在一个处理流中。
在每个周期中,目标程序可以有多个消息,一个流处理大量程序的消息。消息处理的结果是来自每个流的一组新消息被添加到消息队列中,然后循环往复。在消息处理过程中生成的结果消息通常被发送到另一个地址(返回原点或下一个程序)。