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