xypriss 1.2.4 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +51 -3
  2. package/dist/cjs/mods/security/src/components/cache/index.js +1 -1
  3. package/dist/cjs/shared/logger/Logger.js +2 -0
  4. package/dist/cjs/shared/logger/Logger.js.map +1 -1
  5. package/dist/cjs/src/cluster/bun-cluster-manager.js +1567 -0
  6. package/dist/cjs/src/cluster/bun-cluster-manager.js.map +1 -0
  7. package/dist/cjs/src/cluster/cluster-manager.js +1 -1
  8. package/dist/cjs/src/cluster/cluster-manager.js.map +1 -1
  9. package/dist/cjs/src/cluster/index.js +25 -6
  10. package/dist/cjs/src/cluster/index.js.map +1 -1
  11. package/dist/cjs/src/cluster/memory-manager.js +486 -0
  12. package/dist/cjs/src/cluster/memory-manager.js.map +1 -0
  13. package/dist/cjs/src/cluster/modules/BunIPCManager.js +603 -0
  14. package/dist/cjs/src/cluster/modules/BunIPCManager.js.map +1 -0
  15. package/dist/cjs/src/cluster/modules/ClusterFactory.js +22 -1
  16. package/dist/cjs/src/cluster/modules/ClusterFactory.js.map +1 -1
  17. package/dist/cjs/src/cluster/modules/CpuMonitor.js +658 -0
  18. package/dist/cjs/src/cluster/modules/CpuMonitor.js.map +1 -0
  19. package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js +257 -0
  20. package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js.map +1 -0
  21. package/dist/cjs/src/cluster/modules/ProcessMonitor.js +513 -0
  22. package/dist/cjs/src/cluster/modules/ProcessMonitor.js.map +1 -0
  23. package/dist/cjs/src/plugins/server-maintenance-plugin.js +79 -14
  24. package/dist/cjs/src/plugins/server-maintenance-plugin.js.map +1 -1
  25. package/dist/cjs/src/server/FastServer.js +64 -43
  26. package/dist/cjs/src/server/FastServer.js.map +1 -1
  27. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +226 -10
  28. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  29. package/dist/cjs/src/server/const/Cluster.config.js +174 -31
  30. package/dist/cjs/src/server/const/Cluster.config.js.map +1 -1
  31. package/dist/cjs/src/server/const/default.js +11 -2
  32. package/dist/cjs/src/server/const/default.js.map +1 -1
  33. package/dist/cjs/src/server/utils/PortManager.js +26 -15
  34. package/dist/cjs/src/server/utils/PortManager.js.map +1 -1
  35. package/dist/esm/mods/security/src/components/cache/index.js +1 -1
  36. package/dist/esm/shared/logger/Logger.js +2 -0
  37. package/dist/esm/shared/logger/Logger.js.map +1 -1
  38. package/dist/esm/src/cluster/bun-cluster-manager.js +1565 -0
  39. package/dist/esm/src/cluster/bun-cluster-manager.js.map +1 -0
  40. package/dist/esm/src/cluster/cluster-manager.js +1 -1
  41. package/dist/esm/src/cluster/cluster-manager.js.map +1 -1
  42. package/dist/esm/src/cluster/index.js +25 -6
  43. package/dist/esm/src/cluster/index.js.map +1 -1
  44. package/dist/esm/src/cluster/memory-manager.js +484 -0
  45. package/dist/esm/src/cluster/memory-manager.js.map +1 -0
  46. package/dist/esm/src/cluster/modules/BunIPCManager.js +601 -0
  47. package/dist/esm/src/cluster/modules/BunIPCManager.js.map +1 -0
  48. package/dist/esm/src/cluster/modules/ClusterFactory.js +22 -1
  49. package/dist/esm/src/cluster/modules/ClusterFactory.js.map +1 -1
  50. package/dist/esm/src/cluster/modules/CpuMonitor.js +656 -0
  51. package/dist/esm/src/cluster/modules/CpuMonitor.js.map +1 -0
  52. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js +255 -0
  53. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js.map +1 -0
  54. package/dist/esm/src/cluster/modules/ProcessMonitor.js +511 -0
  55. package/dist/esm/src/cluster/modules/ProcessMonitor.js.map +1 -0
  56. package/dist/esm/src/plugins/server-maintenance-plugin.js +79 -14
  57. package/dist/esm/src/plugins/server-maintenance-plugin.js.map +1 -1
  58. package/dist/esm/src/server/FastServer.js +64 -43
  59. package/dist/esm/src/server/FastServer.js.map +1 -1
  60. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +226 -10
  61. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  62. package/dist/esm/src/server/const/Cluster.config.js +174 -31
  63. package/dist/esm/src/server/const/Cluster.config.js.map +1 -1
  64. package/dist/esm/src/server/const/default.js +11 -2
  65. package/dist/esm/src/server/const/default.js.map +1 -1
  66. package/dist/esm/src/server/utils/PortManager.js +26 -15
  67. package/dist/esm/src/server/utils/PortManager.js.map +1 -1
  68. package/dist/index.d.ts +90 -2
  69. package/package.json +6 -1
  70. package/dist/cjs/src/plugins/modules/network/index.js +0 -120
  71. package/dist/cjs/src/plugins/modules/network/index.js.map +0 -1
  72. package/dist/cjs/src/server/plugins/PluginEngine.js +0 -378
  73. package/dist/cjs/src/server/plugins/PluginEngine.js.map +0 -1
  74. package/dist/cjs/src/server/plugins/PluginRegistry.js +0 -339
  75. package/dist/cjs/src/server/plugins/PluginRegistry.js.map +0 -1
  76. package/dist/cjs/src/server/plugins/builtin/JWTAuthPlugin.js +0 -591
  77. package/dist/cjs/src/server/plugins/builtin/JWTAuthPlugin.js.map +0 -1
  78. package/dist/cjs/src/server/plugins/builtin/ResponseTimePlugin.js +0 -413
  79. package/dist/cjs/src/server/plugins/builtin/ResponseTimePlugin.js.map +0 -1
  80. package/dist/cjs/src/server/plugins/builtin/SmartCachePlugin.js +0 -843
  81. package/dist/cjs/src/server/plugins/builtin/SmartCachePlugin.js.map +0 -1
  82. package/dist/cjs/src/server/plugins/core/CachePlugin.js +0 -1975
  83. package/dist/cjs/src/server/plugins/core/CachePlugin.js.map +0 -1
  84. package/dist/cjs/src/server/plugins/core/PerformancePlugin.js +0 -894
  85. package/dist/cjs/src/server/plugins/core/PerformancePlugin.js.map +0 -1
  86. package/dist/cjs/src/server/plugins/core/SecurityPlugin.js +0 -799
  87. package/dist/cjs/src/server/plugins/core/SecurityPlugin.js.map +0 -1
  88. package/dist/cjs/src/server/plugins/types/PluginTypes.js +0 -47
  89. package/dist/cjs/src/server/plugins/types/PluginTypes.js.map +0 -1
  90. package/dist/esm/src/plugins/modules/network/index.js +0 -109
  91. package/dist/esm/src/plugins/modules/network/index.js.map +0 -1
  92. package/dist/esm/src/server/plugins/PluginEngine.js +0 -376
  93. package/dist/esm/src/server/plugins/PluginEngine.js.map +0 -1
  94. package/dist/esm/src/server/plugins/PluginRegistry.js +0 -337
  95. package/dist/esm/src/server/plugins/PluginRegistry.js.map +0 -1
  96. package/dist/esm/src/server/plugins/builtin/JWTAuthPlugin.js +0 -589
  97. package/dist/esm/src/server/plugins/builtin/JWTAuthPlugin.js.map +0 -1
  98. package/dist/esm/src/server/plugins/builtin/ResponseTimePlugin.js +0 -411
  99. package/dist/esm/src/server/plugins/builtin/ResponseTimePlugin.js.map +0 -1
  100. package/dist/esm/src/server/plugins/builtin/SmartCachePlugin.js +0 -841
  101. package/dist/esm/src/server/plugins/builtin/SmartCachePlugin.js.map +0 -1
  102. package/dist/esm/src/server/plugins/core/CachePlugin.js +0 -1973
  103. package/dist/esm/src/server/plugins/core/CachePlugin.js.map +0 -1
  104. package/dist/esm/src/server/plugins/core/PerformancePlugin.js +0 -872
  105. package/dist/esm/src/server/plugins/core/PerformancePlugin.js.map +0 -1
  106. package/dist/esm/src/server/plugins/core/SecurityPlugin.js +0 -797
  107. package/dist/esm/src/server/plugins/core/SecurityPlugin.js.map +0 -1
  108. package/dist/esm/src/server/plugins/types/PluginTypes.js +0 -47
  109. package/dist/esm/src/server/plugins/types/PluginTypes.js.map +0 -1
@@ -1,5 +1,7 @@
1
1
  import { ClusterManager } from '../../../cluster/cluster-manager.js';
2
+ import { BunClusterManager } from '../../../cluster/bun-cluster-manager.js';
2
3
  import { logger } from '../../../../shared/logger/Logger.js';
4
+ import { BunIPCManager } from '../../../cluster/modules/BunIPCManager.js';
3
5
 
4
6
  /**
5
7
  * Check if the current runtime supports clustering
@@ -36,16 +38,51 @@ class ClusterManagerComponent {
36
38
  initializeCluster() {
37
39
  if (!this.options.cluster?.enabled)
38
40
  return;
41
+ // Check for cluster bypass environment variables
42
+ if (process.env.DISABLE_CLUSTERING === "true" ||
43
+ process.env.SINGLE_PROCESS === "true") {
44
+ logger.info("cluster", "Clustering disabled via environment variable, enabling single-process mode");
45
+ this._enableSingleProcessFallback();
46
+ return;
47
+ }
48
+ // Prevent workers from creating their own clusters (fix recursive clustering)
49
+ if (process.env.CLUSTER_MODE === "true" ||
50
+ process.env.NODE_ENV === "worker") {
51
+ logger.debug("cluster", "Running in worker mode - skipping cluster initialization");
52
+ return;
53
+ }
54
+ // Check if we're running in Bun
55
+ if (process.versions.bun) {
56
+ logger.info("cluster", "Bun runtime detected. Using Bun-compatible cluster manager.");
57
+ this.initializeBunCluster();
58
+ return;
59
+ }
39
60
  // Check if clustering is supported in current runtime
40
61
  if (!isClusteringSupported()) {
41
- logger.warn("cluster", "Clustering not supported in current runtime (Bun detected). Disabling cluster functionality.");
62
+ logger.warn("cluster", "Clustering not supported in current runtime. Disabling cluster functionality.");
42
63
  return;
43
64
  }
44
- logger.debug("cluster", "Initializing cluster manager...");
65
+ logger.debug("cluster", "Initializing Node.js cluster manager...");
45
66
  this.cluster = new ClusterManager(this.options.cluster.config || {});
46
67
  // Add cluster methods to app immediately when cluster is configured
47
68
  this.addClusterMethods();
48
- logger.debug("cluster", "Cluster manager initialized");
69
+ logger.debug("cluster", "Node.js cluster manager initialized");
70
+ }
71
+ /**
72
+ * Initialize Bun cluster manager
73
+ */
74
+ initializeBunCluster() {
75
+ logger.debug("cluster", "Initializing Bun cluster manager...");
76
+ // Get base port from server options or default
77
+ const basePort = this.dependencies.serverOptions?.port || 8085;
78
+ this.bunCluster = new BunClusterManager(this.options.cluster?.config || {}, basePort);
79
+ // Initialize IPC manager for Bun workers
80
+ this.ipcManager = new BunIPCManager();
81
+ // Connect IPC manager to cluster manager
82
+ this.bunCluster.setIPCManager(this.ipcManager);
83
+ // Add Bun cluster methods to app
84
+ this.addBunClusterMethods();
85
+ logger.debug("cluster", "Bun cluster manager initialized");
49
86
  }
50
87
  /**
51
88
  * Get cluster manager instance
@@ -53,11 +90,18 @@ class ClusterManagerComponent {
53
90
  getCluster() {
54
91
  return this.cluster;
55
92
  }
93
+ /**
94
+ * Get Bun cluster manager instance
95
+ */
96
+ getBunCluster() {
97
+ return this.bunCluster;
98
+ }
56
99
  /**
57
100
  * Check if cluster is enabled
58
101
  */
59
102
  isClusterEnabled() {
60
- return this.options.cluster?.enabled === true;
103
+ return (this.options.cluster?.enabled === true &&
104
+ (this.cluster !== undefined || this.bunCluster !== undefined));
61
105
  }
62
106
  /**
63
107
  * Add cluster management methods to the Express app
@@ -106,6 +150,112 @@ class ClusterManagerComponent {
106
150
  // logger.debug(
107
151
  // "cluster","Cluster methods added to app");
108
152
  }
153
+ /**
154
+ * Add Bun cluster management methods to the Express app
155
+ */
156
+ addBunClusterMethods() {
157
+ if (!this.bunCluster)
158
+ return;
159
+ logger.debug("cluster", "Adding Bun cluster methods to app...");
160
+ // Cluster scaling methods
161
+ this.dependencies.app.scaleUp = async (count = 1) => {
162
+ return await this.bunCluster.scaleUp(count);
163
+ };
164
+ this.dependencies.app.scaleDown = async (count = 1) => {
165
+ return await this.bunCluster.scaleDown(count);
166
+ };
167
+ this.dependencies.app.autoScale = async () => {
168
+ // Simple auto-scaling logic for Bun
169
+ const metrics = await this.bunCluster.getMetrics();
170
+ const activeWorkers = this.bunCluster.getActiveWorkers();
171
+ if (activeWorkers.length < 2 && metrics.cpuUsage > 80) {
172
+ await this.bunCluster.scaleUp(1);
173
+ }
174
+ else if (activeWorkers.length > 1 && metrics.cpuUsage < 30) {
175
+ await this.bunCluster.scaleDown(1);
176
+ }
177
+ };
178
+ // Cluster information methods
179
+ this.dependencies.app.getClusterMetrics = async () => {
180
+ return await this.bunCluster.getMetrics();
181
+ };
182
+ this.dependencies.app.getClusterHealth = async () => {
183
+ return await this.bunCluster.checkHealth();
184
+ };
185
+ this.dependencies.app.getAllWorkers = () => {
186
+ return this.bunCluster.getAllWorkers();
187
+ };
188
+ this.dependencies.app.getOptimalWorkerCount = async () => {
189
+ // Simple calculation for Bun
190
+ const cpuCount = navigator.hardwareConcurrency || 4;
191
+ return Math.max(1, cpuCount - 1);
192
+ };
193
+ // Cluster management methods
194
+ this.dependencies.app.restartCluster = async () => {
195
+ await this.bunCluster.stop(true);
196
+ await this.bunCluster.start();
197
+ };
198
+ this.dependencies.app.stopCluster = async (graceful = true) => {
199
+ return await this.bunCluster?.stop(graceful);
200
+ };
201
+ // IPC methods using BunIPCManager
202
+ this.dependencies.app.broadcastToWorkers = async (message) => {
203
+ if (!this.ipcManager) {
204
+ throw new Error("IPC Manager not initialized");
205
+ }
206
+ logger.info("cluster", "Broadcasting to Bun workers:", message);
207
+ try {
208
+ await this.ipcManager.broadcastToWorkers("app_message", message);
209
+ logger.debug("cluster", "Broadcast completed successfully");
210
+ }
211
+ catch (error) {
212
+ logger.error("cluster", "Failed to broadcast message:", error);
213
+ throw error;
214
+ }
215
+ };
216
+ this.dependencies.app.sendToRandomWorker = async (message) => {
217
+ if (!this.ipcManager) {
218
+ throw new Error("IPC Manager not initialized");
219
+ }
220
+ logger.info("cluster", "Sending to random Bun worker:", message);
221
+ try {
222
+ await this.ipcManager.sendToRandomWorker("app_message", message);
223
+ logger.debug("cluster", "Message sent to random worker successfully");
224
+ }
225
+ catch (error) {
226
+ logger.error("cluster", "Failed to send message to random worker:", error);
227
+ throw error;
228
+ }
229
+ };
230
+ logger.debug("cluster", "Bun cluster methods added to app");
231
+ }
232
+ /**
233
+ * Setup Bun cluster event handlers
234
+ */
235
+ setupBunClusterEventHandlers() {
236
+ if (!this.bunCluster)
237
+ return;
238
+ logger.debug("cluster", "Setting up Bun cluster event handlers...");
239
+ this.bunCluster.on("cluster:started", (data) => {
240
+ logger.info("cluster", `Bun cluster started with ${data.workerCount} workers`);
241
+ });
242
+ this.bunCluster.on("worker:started", (data) => {
243
+ logger.info("cluster", `Bun worker ${data.workerId} started on port ${data.port}`);
244
+ });
245
+ this.bunCluster.on("worker:stopped", (data) => {
246
+ logger.info("cluster", `Bun worker ${data.workerId} stopped`);
247
+ });
248
+ this.bunCluster.on("worker:exit", (data) => {
249
+ logger.warn("cluster", `Bun worker ${data.workerId} exited with code ${data.exitCode}`);
250
+ });
251
+ this.bunCluster.on("metrics:collected", (metrics) => {
252
+ logger.debug("cluster", "Bun cluster metrics collected:", metrics);
253
+ });
254
+ this.bunCluster.on("cluster:stopped", () => {
255
+ logger.info("cluster", "Bun cluster stopped");
256
+ });
257
+ logger.debug("cluster", "Bun cluster event handlers setup complete");
258
+ }
109
259
  /**
110
260
  * Add cluster monitoring endpoints
111
261
  */
@@ -113,7 +263,7 @@ class ClusterManagerComponent {
113
263
  if (!this.cluster || !this.options.cluster?.enabled)
114
264
  return;
115
265
  // Cluster health endpoint
116
- this.dependencies.app.get(basePoint + "/health/cluster", async (req, res) => {
266
+ this.dependencies.app.get(basePoint + "/health/cluster", async (_req, res) => {
117
267
  try {
118
268
  const clusterHealth = await this.cluster.checkHealth();
119
269
  const clusterMetrics = await this.cluster.getMetrics();
@@ -175,7 +325,7 @@ class ClusterManagerComponent {
175
325
  }
176
326
  });
177
327
  // Cluster restart endpoint
178
- this.dependencies.app.post(basePoint + "/cluster/restart", async (req, res) => {
328
+ this.dependencies.app.post(basePoint + "/cluster/restart", async (_req, res) => {
179
329
  try {
180
330
  await this.cluster.restart();
181
331
  res.json({
@@ -239,27 +389,93 @@ class ClusterManagerComponent {
239
389
  * Start cluster manager
240
390
  */
241
391
  async startCluster() {
392
+ // Handle Bun cluster
393
+ if (this.bunCluster) {
394
+ try {
395
+ logger.debug("cluster", "Starting Bun cluster...");
396
+ await this.bunCluster.start();
397
+ this.setupBunClusterEventHandlers();
398
+ logger.debug("cluster", "Bun cluster started successfully");
399
+ }
400
+ catch (error) {
401
+ logger.error("cluster", "Failed to start Bun cluster:", error.message);
402
+ // Fallback: disable clustering and continue in single-process mode
403
+ logger.warn("cluster", "Attempting fallback to single-process mode...");
404
+ try {
405
+ await this._enableSingleProcessFallback();
406
+ logger.info("cluster", "Successfully fell back to single-process mode");
407
+ }
408
+ catch (fallbackError) {
409
+ logger.error("cluster", "Fallback mode also failed:", fallbackError.message);
410
+ throw error; // Throw original error
411
+ }
412
+ return;
413
+ }
414
+ }
415
+ // Handle Node.js cluster
242
416
  if (!this.cluster)
243
417
  return;
244
418
  try {
245
- logger.debug("cluster", "Starting cluster...");
419
+ logger.debug("cluster", "Starting Node.js cluster...");
246
420
  await this.cluster.start();
247
421
  this.setupClusterEventHandlers();
248
- logger.debug("cluster", "Cluster started successfully");
422
+ logger.debug("cluster", "Node.js cluster started successfully");
249
423
  }
250
424
  catch (error) {
251
- logger.error("cluster", "Failed to start cluster:", error.message);
425
+ logger.error("cluster", "Failed to start Node.js cluster:", error.message);
252
426
  throw error;
253
427
  }
254
428
  }
429
+ /**
430
+ * Enable single-process fallback mode
431
+ */
432
+ async _enableSingleProcessFallback() {
433
+ logger.info("cluster", "Enabling single-process fallback mode");
434
+ // Disable clustering by setting cluster references to null
435
+ this.bunCluster = undefined;
436
+ this.cluster = undefined;
437
+ // Update app methods to work in single-process mode
438
+ this.dependencies.app.broadcastToWorkers = async (message) => {
439
+ logger.debug("cluster", "Single-process mode: broadcast ignored", message);
440
+ // In single-process mode, there are no workers to broadcast to
441
+ };
442
+ this.dependencies.app.sendToRandomWorker = async (message) => {
443
+ logger.debug("cluster", "Single-process mode: sendToRandomWorker ignored", message);
444
+ // In single-process mode, there are no workers to send to
445
+ };
446
+ // Update cluster management methods to no-ops
447
+ this.dependencies.app.restartCluster = async () => {
448
+ logger.warn("cluster", "Single-process mode: cluster restart not available");
449
+ throw new Error("Cluster restart not available in single-process mode");
450
+ };
451
+ this.dependencies.app.stopCluster = async () => {
452
+ logger.warn("cluster", "Single-process mode: cluster stop not available");
453
+ throw new Error("Cluster stop not available in single-process mode");
454
+ };
455
+ logger.info("cluster", "Single-process fallback mode enabled successfully");
456
+ }
255
457
  /**
256
458
  * Stop cluster manager
257
459
  */
258
460
  async stopCluster(graceful = true) {
461
+ // Handle Bun cluster
462
+ if (this.bunCluster) {
463
+ try {
464
+ logger.debug("cluster", "Stopping Bun cluster...");
465
+ await this.bunCluster.stop(graceful);
466
+ logger.debug("cluster", "Bun cluster stopped successfully");
467
+ }
468
+ catch (error) {
469
+ logger.error("cluster", "Failed to stop Bun cluster:", error.message);
470
+ throw error;
471
+ }
472
+ return;
473
+ }
474
+ // Handle Node.js cluster
259
475
  if (!this.cluster)
260
476
  return;
261
477
  try {
262
- logger.debug("cluster", "Stopping cluster...");
478
+ logger.debug("cluster", "Stopping Node.js cluster...");
263
479
  await this.cluster.stop(graceful);
264
480
  logger.debug("cluster", "Cluster stopped successfully");
265
481
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterManagerComponent.js","sources":["../../../../../../src/server/components/fastapi/ClusterManagerComponent.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClusterManagerComponent.js","sources":["../../../../../../src/server/components/fastapi/ClusterManagerComponent.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,68 +1,211 @@
1
- // ===== DEFAULT CONFIGURATIONS =====
1
+ // ===== OPTIMIZED CLUSTER CONFIGURATIONS =====
2
2
  const DEFAULT_CLUSTER_CONFIGS = {
3
- enabled: true,
4
- workers: "auto",
3
+ workers: "auto", // Will use os.cpus().length
4
+ // Process Management - Enhanced for reliability
5
5
  processManagement: {
6
6
  respawn: true,
7
- maxRestarts: 5,
8
- restartDelay: 1000,
9
- gracefulShutdownTimeout: 30000,
10
- killTimeout: 5000,
7
+ maxRestarts: 10, // Max restarts per worker per hour
8
+ restartDelay: 1000, // Reduced for faster recovery
9
+ gracefulShutdownTimeout: 48000, // Increased for complex cleanup
10
+ killTimeout: 15000, // Force kill timeout after graceful shutdown fails
11
11
  zombieDetection: true,
12
- memoryThreshold: "512MB",
13
- cpuThreshold: 80,
12
+ memoryThreshold: "1GB", // Restart worker if memory exceeded
13
+ cpuThreshold: 85, // Restart worker if CPU > 85% sustained
14
14
  },
15
+ // Memory Management - Optimized
16
+ memoryManagement: {
17
+ enabled: true,
18
+ maxWorkerMemory: "1GB", // Increased from default for better performance
19
+ maxTotalMemory: "12GB", // Conservative total memory limit
20
+ memoryCheckInterval: 15000, // More frequent checks (15s)
21
+ memoryWarningThreshold: 70, // Earlier warning threshold
22
+ memoryCriticalThreshold: 85, // Lower critical threshold for safety
23
+ autoScaleOnMemory: true,
24
+ memoryLeakDetection: true,
25
+ garbageCollectionHint: true, // Enable GC hints
26
+ lowMemoryMode: false, // Disable for better performance
27
+ },
28
+ // Health Monitoring - Enhanced
15
29
  healthCheck: {
16
30
  enabled: true,
17
- interval: 30000,
18
- timeout: 5000,
19
- maxFailures: 3,
31
+ interval: 20000, // Check every 20 seconds
32
+ timeout: 8000, // 8 second timeout
33
+ maxFailures: 2, // Faster failover with 2 max failures
20
34
  endpoint: "/health",
21
35
  },
36
+ // Load Balancing - Optimized strategy
22
37
  loadBalancing: {
23
- strategy: "round-robin",
38
+ strategy: "least-connections", // Better than round-robin for uneven loads
24
39
  stickySession: false,
40
+ circuitBreakerThreshold: 5, // Circuit breaker after 5 failures
41
+ circuitBreakerTimeout: 30000, // 30 second recovery timeout
25
42
  },
43
+ // Inter-Process Communication - Enhanced
26
44
  ipc: {
27
45
  enabled: true,
28
- broadcast: true,
46
+ broadcast: true, // Enable broadcasting to all workers
47
+ messageQueue: {
48
+ maxSize: 1000, // Queue size limit
49
+ timeout: 20000, // 20 second timeout
50
+ },
51
+ // Custom events can be added as needed
29
52
  },
53
+ // Auto Scaling - Fine-tuned
30
54
  autoScaling: {
31
55
  enabled: true,
32
- minWorkers: 1,
33
- maxWorkers: 8,
34
- cooldownPeriod: 300000,
35
- scaleStep: 1,
56
+ minWorkers: 2, // Minimum workers for availability
57
+ maxWorkers: 16, // Increased maximum for scalability
36
58
  scaleUpThreshold: {
37
- cpu: 70,
38
- memory: 80,
39
- responseTime: 1000,
40
- queueLength: 50,
59
+ cpu: 65, // Scale up if CPU > 65%
60
+ memory: 75, // Scale up if memory > 75%
61
+ responseTime: 800, // Scale up if response time > 800ms
62
+ queueLength: 30, // Scale up if queue > 30 requests
41
63
  },
42
64
  scaleDownThreshold: {
43
- cpu: 30,
44
- memory: 40,
45
- idleTime: 10,
65
+ cpu: 25, // Scale down if CPU < 25%
66
+ memory: 35, // Scale down if memory < 35%
67
+ idleTime: 15, // Scale down after 15 minutes idle
46
68
  },
69
+ cooldownPeriod: 180000, // 3 minute cooldown between scaling
70
+ scaleStep: 2, // Add/remove 2 workers at a time
47
71
  },
72
+ // Resource Management - Comprehensive
73
+ resources: {
74
+ maxMemoryPerWorker: "1GB",
75
+ maxCpuPerWorker: 80, // 80% CPU per worker
76
+ priorityLevel: "high",
77
+ fileDescriptorLimit: 4096,
78
+ networkConnections: {
79
+ max: 1000,
80
+ timeout: 30000,
81
+ },
82
+ // Enhanced Memory Management
83
+ memoryManagement: {
84
+ enabled: true,
85
+ maxTotalMemory: "12GB",
86
+ memoryCheckInterval: 15000,
87
+ memoryWarningThreshold: 70,
88
+ memoryCriticalThreshold: 85,
89
+ autoScaleOnMemory: true,
90
+ memoryLeakDetection: true,
91
+ garbageCollectionHint: true,
92
+ lowMemoryMode: false,
93
+ memoryReservation: "1GB", // Reserve 1GB for system
94
+ swapUsageLimit: 5, // Max 5% swap usage
95
+ },
96
+ // Performance Optimization
97
+ performanceOptimization: {
98
+ enabled: true,
99
+ lowMemoryMode: false,
100
+ reducedLogging: false, // Keep full logging for debugging
101
+ compactMetrics: true,
102
+ lazyWorkerInit: false, // Pre-initialize for faster response
103
+ workerPooling: true,
104
+ memoryPooling: true,
105
+ disableDebugFeatures: true, // Disable in production
106
+ minimalFootprint: false, // Prioritize performance over memory
107
+ efficientDataStructures: true,
108
+ },
109
+ // Resource Limits Enforcement
110
+ enforcement: {
111
+ enabled: true,
112
+ enforceHardLimits: true,
113
+ softLimitWarnings: true,
114
+ gracefulDegradation: false, // Hard limits for predictability
115
+ resourceThrottling: false,
116
+ alertOnLimitReached: true,
117
+ },
118
+ },
119
+ // Monitoring - Enhanced observability
48
120
  monitoring: {
49
121
  enabled: true,
50
122
  collectMetrics: true,
51
- metricsInterval: 60000,
52
- logLevel: "info",
123
+ metricsInterval: 30000, // Collect metrics every 30 seconds
124
+ logLevel: "info", // Balanced logging level
53
125
  logWorkerEvents: true,
54
- logPerformance: true,
126
+ logPerformance: true, // Enable performance logging
127
+ // customMetrics can be added as needed
55
128
  },
129
+ // Error Handling - Robust recovery
56
130
  errorHandling: {
57
131
  uncaughtException: "restart",
58
- unhandledRejection: "restart",
59
- errorThreshold: 10,
132
+ unhandledRejection: "restart", // Restart for both types
133
+ errorThreshold: 3, // Max 3 errors per hour before restart
134
+ crashRecovery: {
135
+ enabled: true,
136
+ saveState: true,
137
+ stateStorage: "memory", // Use memory for fast recovery
138
+ },
60
139
  },
140
+ // Security - Production ready
61
141
  security: {
62
142
  isolateWorkers: true,
143
+ sandboxMode: true, // Enable sandboxing
63
144
  resourceLimits: true,
64
145
  preventForkBombs: true,
65
- encryptIPC: true,
146
+ workerAuthentication: false, // Can be enabled if needed
147
+ encryptIPC: true, // Enable IPC encryption
148
+ },
149
+ // Development Features - Disabled for production
150
+ development: {
151
+ hotReload: false,
152
+ debugMode: false,
153
+ profiling: false,
154
+ // inspectPorts can be added for debugging
155
+ },
156
+ // Resilience Features - Enhanced fault tolerance
157
+ resilience: {
158
+ circuitBreaker: {
159
+ enabled: true,
160
+ failureThreshold: 5,
161
+ recoveryTimeout: 30000,
162
+ halfOpenRequests: 3,
163
+ },
164
+ bulkhead: {
165
+ enabled: true,
166
+ maxConcurrentRequests: 100,
167
+ queueSize: 200,
168
+ },
169
+ timeout: {
170
+ enabled: true,
171
+ requestTimeout: 30000,
172
+ healthCheckTimeout: 8000,
173
+ },
174
+ retryPolicy: {
175
+ enabled: true,
176
+ maxRetries: 3,
177
+ backoffStrategy: "exponential",
178
+ baseDelay: 1000,
179
+ maxDelay: 30000,
180
+ },
181
+ },
182
+ // Advanced Features - Production optimizations
183
+ advanced: {
184
+ stateSync: {
185
+ enabled: false, // Disable unless needed
186
+ strategy: "redis",
187
+ syncInterval: 60000,
188
+ },
189
+ deployment: {
190
+ rollingUpdates: true,
191
+ maxUnavailable: 1,
192
+ maxSurge: 2,
193
+ healthCheckGracePeriod: 30000,
194
+ },
195
+ networking: {
196
+ tcpNoDelay: true,
197
+ keepAlive: true,
198
+ keepAliveInitialDelay: 30000,
199
+ },
200
+ },
201
+ // Persistence - Optional state persistence
202
+ persistence: {
203
+ enabled: false, // Enable only if state persistence is needed
204
+ type: "memory",
205
+ memory: {
206
+ maxSize: 100 * 1024 * 1024, // 100MB max memory storage
207
+ ttl: 3600000, // 1 hour TTL
208
+ },
66
209
  },
67
210
  };
68
211
 
@@ -1 +1 @@
1
- {"version":3,"file":"Cluster.config.js","sources":["../../../../../src/server/const/Cluster.config.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AAEa,MAAA,uBAAuB,GAAG;AACnC,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,iBAAiB,EAAE;AACf,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,uBAAuB,EAAE,KAAK;AAC9B,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,eAAe,EAAE,IAAI;AACrB,QAAA,eAAe,EAAE,OAAO;AACxB,QAAA,YAAY,EAAE,EAAE;AACnB,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,QAAQ,EAAE,SAAS;AACtB,KAAA;AACD,IAAA,aAAa,EAAE;AACX,QAAA,QAAQ,EAAE,aAAa;AACvB,QAAA,aAAa,EAAE,KAAK;AACvB,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,SAAS,EAAE,IAAI;AAClB,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,cAAc,EAAE,MAAM;AACtB,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,gBAAgB,EAAE;AACd,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,WAAW,EAAE,EAAE;AAClB,SAAA;AACD,QAAA,kBAAkB,EAAE;AAChB,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,QAAQ,EAAE,EAAE;AACf,SAAA;AACJ,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,eAAe,EAAE,IAAI;AACrB,QAAA,cAAc,EAAE,IAAI;AACvB,KAAA;AACD,IAAA,aAAa,EAAE;AACX,QAAA,iBAAiB,EAAE,SAAS;AAC5B,QAAA,kBAAkB,EAAE,SAAS;AAC7B,QAAA,cAAc,EAAE,EAAE;AACrB,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,UAAU,EAAE,IAAI;AACnB,KAAA;;;;;"}
1
+ {"version":3,"file":"Cluster.config.js","sources":["../../../../../src/server/const/Cluster.config.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}