【发布时间】:2020-06-10 09:58:55
【问题描述】:
我正在使用 Axon Server 在应用程序中实现自动缩放,并在 k8s 中运行。
我在应用程序本身中创建了 ReST 端点,它查看本地配置(用于处理器和线程数),然后与 Axon Server ReST API 对话,以便适当地拆分/合并处理器。意图是使用容器生命周期钩子来触发它们。
因此,如果启动了一个应用程序的新实例(pod),并在处理器 A 上配置了 2 个线程,那么我的代码将向服务器上的 /v1/components/blah/processors/ProcessorA/segments/split?context=default 端点发出 2 个请求。这是为了充分利用这两个新线程。
同样,当 pod 关闭时,它会向服务器上的合并端点发出 2 个类似的请求。
按比例放大时,我看到处理器分裂了两次,正如预期的那样。但是,在关闭时,除非我在请求之间等待很长时间(5 秒),否则我不会看到两次合并。这不太可能特别稳定,所以我想知道是否还有其他需要做的事情。
也许我应该请求合并,然后循环等待它发生,然后再请求另一个。这似乎会非常缓慢。
还有一个关于 SO 的问题,Automatically scale Axon's tracking event processors,其中 Steven 评论说当时 Axon Server 中没有内置的自动缩放功能。我最近也没有看到任何东西。
【问题讨论】:
标签: kubernetes axon