-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmoleculer.config.js
109 lines (92 loc) · 2.22 KB
/
moleculer.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
"use strict";
const Loaders = require("./src/helpers/loaders");
module.exports = {
namespace: process.env.NAMESPACE,
nodeID: process.env.NODEID,
metadata: {},
logger: {
type: "Console",
options: {
colors: true,
moduleColors: false,
formatter: "full",
objectPrinter: null,
autoPadding: false
}
},
logLevel: "info",
transporter: process.env.TRANSPORTER || null,
cacher: null,
serializer: "JSON",
requestTimeout: 30 * 1000,
retryPolicy: {
enabled: false,
retries: 5,
delay: 100,
maxDelay: 1000,
factor: 2,
check: err => err && !!err.retryable
},
maxCallLevel: 100,
heartbeatInterval: 10,
heartbeatTimeout: 30,
contextParamsCloning: false,
tracking: {
enabled: false,
shutdownTimeout: 5000,
},
disableBalancer: false,
registry: {
strategy: "RoundRobin",
preferLocal: true
},
circuitBreaker: {
enabled: false,
threshold: 0.5,
minRequestCount: 20,
windowTime: 60,
halfOpenTime: 10 * 1000,
check: err => err && err.code >= 500
},
bulkhead: {
enabled: false,
concurrency: 10,
maxQueueSize: 100,
},
validator: true,
errorHandler: null,
metrics: {
enabled: false,
reporter: {
type: "Prometheus",
options: {
port: process.env.METRICS_PORT,
path: "/metrics",
defaultLabels: registry => ({
namespace: registry.broker.namespace,
nodeID: registry.broker.nodeID
})
}
}
},
tracing: {
enabled: true,
exporter: {
type: "Console",
options: {
logger: null,
colors: true,
width: 100,
gaugeWidth: 40
}
}
},
middlewares: [],
replCommands: null,
async created(broker) {
const loader = new Loaders();
await loader.started();
},
async started(broker) {},
async stopped(broker) {}
};