f327441089
- Add coordinator module with gRPC stream-based instance health detection - Implement InstanceHeartbeatService in core: bidirectional stream to coordinator every 200ms - Track game subscriptions per core via Redis Sets (SADD/SREM) - Add gRPC handlers for batch resubscribe/unsubscribe/evict/drain operations - Implement coordinator services: InstanceRegistry, FailoverService, LoadBalancer, AutoScaler, CacheEvictionManager - Add REST API for metrics and manual failover/rebalance/scaling - Proto definition: coordinator_service.proto with HeartbeatStream + batch game operations - Failover timeline: gRPC stream drop (50-200ms) → game migration (<300ms target) - Support for Argo Rollouts auto-scaling (k8s CRD patching via Fabric8 client) Note: Proto compilation issues documented in COORDINATOR_IMPLEMENTATION.md. Requires: - Add task dependency: tasks.compileScala dependsOn tasks.compileJava - Fix deprecated @Inject var = _ → = uninitialized syntax - Implement remaining service methods (gRPC clients, FailoverService distribution) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
28 lines
1.2 KiB
XML
28 lines
1.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project version="4">
|
|
<component name="GradleMigrationSettings" migrationVersion="1" />
|
|
<component name="GradleSettings">
|
|
<option name="linkedExternalProjectsSettings">
|
|
<GradleProjectSettings>
|
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
|
<option name="gradleJvm" value="corretto-21" />
|
|
<option name="modules">
|
|
<set>
|
|
<option value="$PROJECT_DIR$" />
|
|
<option value="$PROJECT_DIR$/modules" />
|
|
<option value="$PROJECT_DIR$/modules/account" />
|
|
<option value="$PROJECT_DIR$/modules/api" />
|
|
<option value="$PROJECT_DIR$/modules/bot" />
|
|
<option value="$PROJECT_DIR$/modules/coordinator" />
|
|
<option value="$PROJECT_DIR$/modules/core" />
|
|
<option value="$PROJECT_DIR$/modules/io" />
|
|
<option value="$PROJECT_DIR$/modules/json" />
|
|
<option value="$PROJECT_DIR$/modules/rule" />
|
|
<option value="$PROJECT_DIR$/modules/store" />
|
|
<option value="$PROJECT_DIR$/modules/ws" />
|
|
</set>
|
|
</option>
|
|
</GradleProjectSettings>
|
|
</option>
|
|
</component>
|
|
</project> |