-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- start to add example pet store - fix some typing problems
- Loading branch information
Showing
23 changed files
with
5,020 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -236,3 +236,5 @@ $RECYCLE.BIN/ | |
/cache | ||
/debug.json | ||
/statics | ||
|
||
dist |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
This is an example project | ||
|
||
It's currently in progress . | ||
|
||
To start : | ||
``` | ||
npm start | ||
``` | ||
|
||
it will start an web UI on http://127.0.0.1:3000 (can change depending on your configuration) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,190 @@ | ||
import type { BrokerOptions, MetricRegistry, ServiceBroker } from "moleculer"; | ||
import { Errors } from "moleculer"; | ||
|
||
/** | ||
* Moleculer ServiceBroker configuration file | ||
* | ||
* More info about options: | ||
* https://moleculer.services/docs/0.14/configuration.html | ||
* | ||
* | ||
* Overwriting options in production: | ||
* ================================ | ||
* You can overwrite any option with environment variables. | ||
* For example to overwrite the "logLevel" value, use `LOGLEVEL=warn` env var. | ||
* To overwrite a nested parameter, e.g. retryPolicy.retries, use `RETRYPOLICY_RETRIES=10` env var. | ||
* | ||
* To overwrite broker’s deeply nested default options, which are not presented in "moleculer.config.js", | ||
* use the `MOL_` prefix and double underscore `__` for nested properties in .env file. | ||
* For example, to set the cacher prefix to `MYCACHE`, you should declare an env var as `MOL_CACHER__OPTIONS__PREFIX=mycache`. | ||
* It will set this: | ||
* { | ||
* cacher: { | ||
* options: { | ||
* prefix: "mycache" | ||
* } | ||
* } | ||
* } | ||
*/ | ||
const brokerConfig: BrokerOptions = { | ||
// Namespace of nodes to segment your nodes on the same network. | ||
namespace: "", | ||
// Unique node identifier. Must be unique in a namespace. | ||
nodeID: null, | ||
// Custom metadata store. Store here what you want. Accessing: `this.broker.metadata` | ||
metadata: {}, | ||
|
||
// Enable/disable logging or use custom logger. More info: https://moleculer.services/docs/0.14/logging.html | ||
// Available logger types: "Console", "File", "Pino", "Winston", "Bunyan", "debug", "Log4js", "Datadog" | ||
logger: { | ||
type: "Console", | ||
options: { | ||
// Using colors on the output | ||
colors: true, | ||
// Print module names with different colors (like docker-compose for containers) | ||
moduleColors: false, | ||
// Line formatter. It can be "json", "short", "simple", "full", a `Function` or a template string like "{timestamp} {level} {nodeID}/{mod}: {msg}" | ||
formatter: "full", | ||
// Custom object printer. If not defined, it uses the `util.inspect` method. | ||
objectPrinter: null, | ||
// Auto-padding the module name in order to messages begin at the same column. | ||
autoPadding: false, | ||
}, | ||
}, | ||
// Default log level for built-in console logger. It can be overwritten in logger options above. | ||
// Available values: trace, debug, info, warn, error, fatal | ||
logLevel: "info", | ||
|
||
// Define transporter. | ||
// More info: https://moleculer.services/docs/0.14/networking.html | ||
// Note: During the development, you don't need to define it because all services will be loaded locally. | ||
// In production you can set it via `TRANSPORTER=nats://localhost:4222` environment variable. | ||
transporter: null, // "TCP" | ||
|
||
// Define a cacher. | ||
// More info: https://moleculer.services/docs/0.14/caching.html | ||
cacher: false, | ||
|
||
// Define a serializer. | ||
// Available values: "JSON", "Avro", "ProtoBuf", "MsgPack", "Notepack", "Thrift". | ||
// More info: https://moleculer.services/docs/0.14/networking.html#Serialization | ||
serializer: "JSON", | ||
|
||
// Number of milliseconds to wait before reject a request with a RequestTimeout error. Disabled: 0 | ||
requestTimeout: 10 * 1000, | ||
|
||
// Retry policy settings. More info: https://moleculer.services/docs/0.14/fault-tolerance.html#Retry | ||
retryPolicy: { | ||
// Enable feature | ||
enabled: false, | ||
// Count of retries | ||
retries: 5, | ||
// First delay in milliseconds. | ||
delay: 100, | ||
// Maximum delay in milliseconds. | ||
maxDelay: 1000, | ||
// Backoff factor for delay. 2 means exponential backoff. | ||
factor: 2, | ||
// A function to check failed requests. | ||
check: (err: Error) => | ||
err && err instanceof Errors.MoleculerRetryableError && !!err.retryable, | ||
}, | ||
|
||
// Limit of calling level. If it reaches the limit, broker will throw an MaxCallLevelError error. (Infinite loop protection) | ||
maxCallLevel: 100, | ||
|
||
// Number of seconds to send heartbeat packet to other nodes. | ||
heartbeatInterval: 10, | ||
// Number of seconds to wait before setting node to unavailable status. | ||
heartbeatTimeout: 30, | ||
|
||
// Cloning the params of context if enabled. High performance impact, use it with caution! | ||
contextParamsCloning: false, | ||
|
||
// Tracking requests and waiting for running requests before shuting down. More info: https://moleculer.services/docs/0.14/context.html#Context-tracking | ||
tracking: { | ||
// Enable feature | ||
enabled: false, | ||
// Number of milliseconds to wait before shuting down the process. | ||
shutdownTimeout: 5000, | ||
}, | ||
|
||
// Disable built-in request & emit balancer. (Transporter must support it, as well.). More info: https://moleculer.services/docs/0.14/networking.html#Disabled-balancer | ||
disableBalancer: false, | ||
|
||
// Settings of Service Registry. More info: https://moleculer.services/docs/0.14/registry.html | ||
registry: { | ||
// Define balancing strategy. More info: https://moleculer.services/docs/0.14/balancing.html | ||
// Available values: "RoundRobin", "Random", "CpuUsage", "Latency", "Shard" | ||
strategy: "RoundRobin", | ||
// Enable local action call preferring. Always call the local action instance if available. | ||
preferLocal: true, | ||
}, | ||
|
||
// Settings of Circuit Breaker. More info: https://moleculer.services/docs/0.14/fault-tolerance.html#Circuit-Breaker | ||
circuitBreaker: { | ||
// Enable feature | ||
enabled: false, | ||
// Threshold value. 0.5 means that 50% should be failed for tripping. | ||
threshold: 0.5, | ||
// Minimum request count. Below it, CB does not trip. | ||
minRequestCount: 20, | ||
// Number of seconds for time window. | ||
windowTime: 60, | ||
// Number of milliseconds to switch from open to half-open state | ||
halfOpenTime: 10 * 1000, | ||
// A function to check failed requests. | ||
check: (err: Error) => err && err instanceof Errors.MoleculerError && err.code >= 500, | ||
}, | ||
|
||
// Settings of bulkhead feature. More info: https://moleculer.services/docs/0.14/fault-tolerance.html#Bulkhead | ||
bulkhead: { | ||
// Enable feature. | ||
enabled: false, | ||
// Maximum concurrent executions. | ||
concurrency: 10, | ||
// Maximum size of queue | ||
maxQueueSize: 100, | ||
}, | ||
|
||
// Enable action & event parameter validation. More info: https://moleculer.services/docs/0.14/validating.html | ||
validator: true, | ||
|
||
errorHandler: null, | ||
|
||
// Enable/disable built-in metrics function. More info: https://moleculer.services/docs/0.14/metrics.html | ||
metrics: { | ||
enabled: false, | ||
// Available built-in reporters: "Console", "CSV", "Event", "Prometheus", "Datadog", "StatsD" | ||
reporter: { | ||
type: "", | ||
}, | ||
}, | ||
|
||
// Enable built-in tracing function. More info: https://moleculer.services/docs/0.14/tracing.html | ||
tracing: { | ||
enabled: false, | ||
// Available built-in exporters: "Console", "Datadog", "Event", "EventLegacy", "Jaeger", "Zipkin" | ||
exporter: { | ||
type: "", // Console exporter is only for development! | ||
}, | ||
}, | ||
|
||
// Register custom middlewares | ||
middlewares: [], | ||
|
||
// Register custom REPL commands. | ||
replCommands: null, | ||
|
||
// Called after broker created. | ||
// created(broker: ServiceBroker): void {}, | ||
|
||
// Called after broker started. | ||
// async started(broker: ServiceBroker): Promise<void> {}, | ||
|
||
// Called after broker stopped. | ||
// async stopped(broker: ServiceBroker): Promise<void> {}, | ||
|
||
}; | ||
|
||
export = brokerConfig; |
Oops, something went wrong.