如何扩大或缩小持久性参与者以获得更好的吞吐量?
How to scale up or out persistent actors for better throughput?
是否可以将持久化角色与路由器一起使用,例如横向扩展?如果您对持久性参与者具有弹性,那么您的事件溯源就会出现问题。
因此我想知道如何扩大或缩小持久性参与者以获得更好的吞吐量?
这个问题有点过于开放,无法直接回答,但对于初学者来说,一般来说您可以做两件事:
为了提高 Persistent Actor 的吞吐量,您已经可以在其中使用一些技术,即使用 persistAsync 将更新分批发送到 Journal。
PersistentActors 可以通过与 ClusterSharding 一起使用轻松横向扩展,这允许在独立节点上为给定的 id(和分片 id)启动 actors - 将负载分配给那些节点。
当然,为了调整消息持久化的原始吞吐量,您肯定必须选择一种快速序列化格式并按照 schema evolution.
上的文档中的说明进行配置。
最后但非常重要的是,您应该选择一个 Journal implementation 可以根据您的需要进行扩展的。 Cassandra 是一个受欢迎的选择,但是你需要 运行 至少 3 个节点才能使它有意义。
希望这对您有所帮助,hakking 快乐!
是否可以将持久化角色与路由器一起使用,例如横向扩展?如果您对持久性参与者具有弹性,那么您的事件溯源就会出现问题。
因此我想知道如何扩大或缩小持久性参与者以获得更好的吞吐量?
这个问题有点过于开放,无法直接回答,但对于初学者来说,一般来说您可以做两件事:
为了提高 Persistent Actor 的吞吐量,您已经可以在其中使用一些技术,即使用 persistAsync 将更新分批发送到 Journal。
PersistentActors 可以通过与 ClusterSharding 一起使用轻松横向扩展,这允许在独立节点上为给定的 id(和分片 id)启动 actors - 将负载分配给那些节点。
当然,为了调整消息持久化的原始吞吐量,您肯定必须选择一种快速序列化格式并按照 schema evolution.
上的文档中的说明进行配置。最后但非常重要的是,您应该选择一个 Journal implementation 可以根据您的需要进行扩展的。 Cassandra 是一个受欢迎的选择,但是你需要 运行 至少 3 个节点才能使它有意义。
希望这对您有所帮助,hakking 快乐!