Micronaut 2.0.0 - Невозможно вызвать одну службу из другой на кубернетах - PullRequest
0 голосов
/ 01 августа 2020

У меня есть служба под названием Identity, из которой я хочу вызвать другую службу под названием Notification. Обе службы построены с использованием Java 11, Micronaut 2.0.0 и должны быть развернуты на kubernetes.

Манифест kubernetes службы уведомлений выглядит следующим образом:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: notification-service
  labels:
    app: notification-service
spec:
  selector:
    matchLabels:
      app: notification-service
  template:
    metadata:
      labels:
        app: notification-service
    spec:
      containers:
        - name: notification-service
          image: notification-service
          ports:
            - containerPort: 8080
          readinessProbe:
            httpGet:
              path: /health
              port: 8080
            initialDelaySeconds: 5
            timeoutSeconds: 3
          livenessProbe:
            httpGet:
              path: /health
              port: 8080
            initialDelaySeconds: 5
            timeoutSeconds: 3
            failureThreshold: 10
---
apiVersion: v1
kind: Service
metadata:
  name: notification-service
spec:
  type: NodePort
  selector:
    app: notification-service
  ports:
  - port: 8080
    protocol: TCP

Для вызова этой службы , Я добавил декларативного клиента в службу идентификации следующим образом:

@Client(id="notification-service")
public interface NotificationClient {

    @Get("/health")
    String checkHealth();
}

Каждый раз, когда я вызываю метод checkHealth() после его внедрения в любую службу или контроллер, запрос зависает. Вызов работает нормально, если я звоню из любого сервиса с Micronaut версии 1.3.x.

Кто-нибудь может помочь с этим?

...