У меня есть служба под названием 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.
Кто-нибудь может помочь с этим?