akka-Cluster在k8s部署

akka-Cluster:k8s部署

背景:在 Spring Boot 中整合akka集群。现在需要将其部署在k8s中。

以下仅是一个节点的配置过程。若存在多个节点,则需要配置多次。
假设当前项目为3个akka节点。则在kubernetes中结构为:
akka-Cluster在k8s部署_第1张图片

代码层面:

  1. 嵌入 启动 managementbootstrap 自动发现代码
    • 可在配置类中(@configurationActorSystem.create 创建 actorSystem
    • 再使用 @Resource 注入;
        public void init(){
   
            AkkaManagement.get(actorSystem).start();
            ClusterBootstrap.get(actorSystem).start();
        }
  1. 健康检查类:
    • 注意: 在后续的 conf配置时,需要配置该全限定类名
public class MyhealthCheck implements Supplier<CompletionStage<Boolean>> {
   

    private final Cluster cluster;

    public ClusterCheck(ActorSystem system) {
   
        cluster = Cluster.get(system);
    }

    @Override
    public CompletionStage<Boolean> get() {
   
        return CompletableFuture.completedFuture(cluster.selfMember().status() == MemberStatus.

你可能感兴趣的:(akka,kubernetes,容器,云原生,akka)