Micronaut 2.0.0 - Невозможно вызвать одну службу из другой на кубернетах
У меня есть служба под названием Identity, из которой я хочу вызвать другую службу под названием Notification. Оба сервиса построены наJava 11
, Micronaut 2.0.0
и будут развернуты на 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.
Может кто-нибудь помочь с этим?