feat(routing): 引入多执行池智能调度
将 Worker 发现、路由画像、容量与执行传输抽象为平台无关接口,新增 Kubernetes 和静态容量适配器,并以 shadow 模式接入生产配置。 实现网络与容量评分、路由防抖、池队列、同步 Worker 租约、一次性执行令牌,以及提交状态不明时禁止重复分配的安全语义。 新增 0105 兼容迁移、管理接口、指标、OpenAPI 和回归测试。已执行全量 Go 测试、go vet、OpenAPI、迁移安全、Compose 与 Kustomize 验证。
This commit is contained in:
@@ -44,6 +44,7 @@ data:
|
||||
AI_GATEWAY_WORKER_MIN_REPLICAS_HONGKONG: "1"
|
||||
AI_GATEWAY_WORKER_MAX_REPLICAS_NINGBO: "2"
|
||||
AI_GATEWAY_WORKER_MAX_REPLICAS_HONGKONG: "2"
|
||||
AI_GATEWAY_CAPACITY_POOLS: '[{"id":"ningbo","adapterRef":"ningbo","bootstrapReplicas":1,"minReplicas":1,"maxReplicas":2},{"id":"hongkong","adapterRef":"hongkong","bootstrapReplicas":1,"minReplicas":1,"maxReplicas":2}]'
|
||||
AI_GATEWAY_WORKER_TARGET_OUTSTANDING_PER_REPLICA: "48"
|
||||
AI_GATEWAY_WORKER_SCALE_UP_WINDOW_SECONDS: "20"
|
||||
AI_GATEWAY_WORKER_SCALE_DOWN_STABILIZATION_SECONDS: "600"
|
||||
|
||||
@@ -47,10 +47,16 @@ data:
|
||||
AI_GATEWAY_ASYNC_WORKER_HARD_LIMIT: "48"
|
||||
AI_GATEWAY_ASYNC_WORKER_GLOBAL_HARD_LIMIT: "48"
|
||||
AI_GATEWAY_ASYNC_WORKER_REFRESH_INTERVAL_SECONDS: "5"
|
||||
AI_GATEWAY_ROUTING_MODE: shadow
|
||||
AI_GATEWAY_ROUTE_PROBE_ENABLED: "true"
|
||||
AI_GATEWAY_ROUTE_PROBE_HOT_INTERVAL_SECONDS: "15"
|
||||
AI_GATEWAY_ROUTE_PROBE_COLD_INTERVAL_SECONDS: "60"
|
||||
AI_GATEWAY_ROUTE_PROBE_TIMEOUT_MS: "3000"
|
||||
AI_GATEWAY_WORKER_ENDPOINT_ALLOW_PRIVATE: "true"
|
||||
AI_GATEWAY_CAPACITY_ORCHESTRATOR_ADAPTER: kubernetes
|
||||
AI_GATEWAY_CAPACITY_POOLS: >-
|
||||
[{"id":"pool-cn-east-1","adapterRef":"ningbo","bootstrapReplicas":1,"minReplicas":1,"maxReplicas":1},{"id":"pool-hk-1","adapterRef":"hongkong","bootstrapReplicas":1,"minReplicas":1,"maxReplicas":1}]
|
||||
AI_GATEWAY_WORKER_AUTOSCALING_ENABLED: "false"
|
||||
AI_GATEWAY_WORKER_REPLICAS_NINGBO: "1"
|
||||
AI_GATEWAY_WORKER_MIN_REPLICAS_NINGBO: "1"
|
||||
AI_GATEWAY_WORKER_MAX_REPLICAS_NINGBO: "1"
|
||||
AI_GATEWAY_WORKER_TARGET_OUTSTANDING_PER_REPLICA: "48"
|
||||
AI_GATEWAY_WORKER_SCALE_UP_WINDOW_SECONDS: "20"
|
||||
AI_GATEWAY_WORKER_SCALE_DOWN_STABILIZATION_SECONDS: "600"
|
||||
|
||||
@@ -94,6 +94,10 @@ spec:
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.uid
|
||||
- name: POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: EASYAI_SITE
|
||||
value: ningbo
|
||||
ports:
|
||||
@@ -363,6 +367,10 @@ spec:
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.uid
|
||||
- name: POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: EASYAI_SITE
|
||||
value: hongkong
|
||||
ports:
|
||||
@@ -540,8 +548,22 @@ spec:
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.uid
|
||||
- name: EASYAI_SITE
|
||||
value: ningbo
|
||||
- name: POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: AI_GATEWAY_WORKER_ID
|
||||
value: pool-cn-east-1-worker
|
||||
- name: AI_GATEWAY_WORKER_ADVERTISE_ENDPOINT
|
||||
value: http://$(POD_IP):8088
|
||||
- name: AI_GATEWAY_ORCHESTRATOR_INSTANCE_REF
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: AI_GATEWAY_EXECUTION_POOL_ID
|
||||
value: pool-cn-east-1
|
||||
- name: AI_GATEWAY_EXECUTION_POOL_LABELS
|
||||
value: '{"region":"cn-east","zone":"ningbo","provider":"self-hosted","egress_profile":"direct"}'
|
||||
ports:
|
||||
- name: health
|
||||
containerPort: 8088
|
||||
@@ -717,8 +739,22 @@ spec:
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.uid
|
||||
- name: EASYAI_SITE
|
||||
value: hongkong
|
||||
- name: POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: AI_GATEWAY_WORKER_ID
|
||||
value: pool-hk-1-worker
|
||||
- name: AI_GATEWAY_WORKER_ADVERTISE_ENDPOINT
|
||||
value: http://$(POD_IP):8088
|
||||
- name: AI_GATEWAY_ORCHESTRATOR_INSTANCE_REF
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: AI_GATEWAY_EXECUTION_POOL_ID
|
||||
value: pool-hk-1
|
||||
- name: AI_GATEWAY_EXECUTION_POOL_LABELS
|
||||
value: '{"region":"ap-east","zone":"hongkong","provider":"self-hosted","egress_profile":"direct"}'
|
||||
- name: AI_GATEWAY_PLATFORM_PROXY_BYPASS_IDS
|
||||
value: 99372d7c-f2a4-472a-987f-30cb76c7962c
|
||||
ports:
|
||||
|
||||
Reference in New Issue
Block a user