Azure上的Akka发现(使用虚拟机)

smtd7mpg  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(212)

我有一个在1+1、1+2、1+3上运行的Akka应用程序...虚拟机和Akka Systems正在相互发现。
在AWS上,我可以使用https://doc.akka.io/docs/akka-management/current/discovery/aws.html#discovery-method-aws-api-ec2-tag-based-discovery,因此我可以根据需要轻松地更改加号节点的数量。
对于在Azure上运行相同的安装程序,我在列表中看不到任何好的选项:https://doc.akka.io/docs/akka/current/discovery/index.html
您是否可以为Azure安装推荐一个解决方案,该解决方案不需要额外的托管服务(如Consul)?

js81xvg6

js81xvg61#

我确认,没有任何东西可以像AWS一样发现原始Azure虚拟机。
我的建议是使用基于Azure的Kubernetes解决方案,如ARO或AKS。Kubernetes也是大多数Akka部署的方向。发现只是众多功能之一。(我从未见过Akka使用Consul,确实有一个发现模块可用,但我估计2022年编排平台上99%以上的Akka是Kubernetes。)
但是,由于您的问题是如何在没有编排层的情况下实现这一点,因此您可以编写并贡献自己的发现模块,也可以使用种子节点。

  • 对于第一种选择,发现模块并不复杂。它们所做的只是根据你所拥有的API(AWS、Azure、K8S等)返回一个IP/端口列表。这种方法的主要缺点是你将运行一个非常独特的实现。
  • 另一个选择是运行种子节点。为了获得高可用性,我建议运行2+n,而不是1+n。只要你有两个稳定的节点,这不是一个糟糕的选择。当然没有基于Kubernetes的解决方案那么动态或健壮,但也不糟糕。

相关问题