确定负载均衡器是否正确配置,并确保它能够检测到所有Apollo GraphQL联合服务器的可用性。
检查Apollo GraphQL联合服务器的配置是否正确,包括端口、协议和所有其他相关配置选项。
确定是否应该使用健康检查端点,并在Apollo GraphQL联合服务器中启用此选项。
如果启用了健康检查端点,请确保它们可以成功运行,并在负载均衡器健康检查失败时报告健康状态。
以下是使用Kubernetes和Envoy实现的示例代码,用于在Apollo GraphQL联合服务器中启用健康检查端点:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-apollo-federation-server
labels:
app: my-apollo-federation-server
spec:
replicas: 2
selector:
matchLabels:
app: my-apollo-federation-server
template:
metadata:
labels:
app: my-apollo-federation-server
spec:
containers:
- name: my-apollo-federation-server
image: my-apollo-federation-server:latest
ports:
- containerPort: 4000
env:
- name: NODE_ENV
value: production
- name: PORT
value: "4000"
- name: APOLLO_KEY
value: {APOLLO_KEY}
- name: APOLLO_GRAPH_VARIANT
value: current
readinessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 5
failureThreshold: 3
---
apiVersion: v1
kind: Service
metadata:
name: my-apollo-federation-server
spec:
selector:
app: my-apollo-federation-server
ports: