Lagom允许将读取侧处理器拆分为分片以扩展事件处理。
object BlogEvent {
val NumShards = 20
val Tag = AggregateEventTag.sharded[BlogEvent](NumShards)
}
sealed trait BlogEvent extends AggregateEvent[BlogEvent] {
override def aggregateTag: AggregateEventShards[BlogEvent] = BlogEvent.Tag
}
比方说,我有5个节点,这是否意味着分片总数将为20 x 5 = 100,或者整个集群中的分片总数将为20?
答案 0 :(得分:2)
这是整个集群的分片总数。
答案 1 :(得分:0)
比方说,我有5个节点,这是否意味着分片总数将为20 x 5 = 100,或者整个集群中的分片总数将为20?
number_of_shards = 20 * numer_of_processors
使用您的示例:
object BlogEvent {
val NumShards = 20
val Tag = AggregateEventTag.sharded[BlogEvent](NumShards)
}
在您的集群中,无论大小,总是每个读取侧处理器有20个实例消耗BlogEvent
流。这意味着,如果您创建了BlogRSSReadSideProcessor
和BlogAtomReadSideProcessor
和BlogTopicProducer
,则总共会有60个分片,每个分片都出于其自身的目的而使用流的特定标记(RSS,Atom或发出主题)。这意味着您的数据库将拥有60个连接,轮询Journal
表。