Cluster microservice configuration structure follows the standard configuration structure.
The microservice supports three types of persistence: in-memory, flat files or MongoDB. In-memory and flat files are great for development and testing, while MongoDB is a good option with outstanding performance and scalability, suitable for demanding production installations. You can choose and configure the option that suits your needs.
For more information on this section read Pip.Services Configuration Guide
Memory persistence has the following configuration properties:
- options: object - Misc configuration options
- max_page_size: number - Maximum number of items per page (default: 100)
Example:
- descriptor: "service-purchaseorders:persistence:memory:default:1.0"
options:
max_page_size: 100
Flat file persistence has the following configuration properties:
- path: string - file path where PurchaseOrderV1 objects are stored. The object are written into the file in JSON format.
- options: object - Misc configuration options
- max_page_size: number - Maximum number of items per page (default: 100)
Example:
- descriptor: "service-purchaseorders:persistence:file:default:1.0"
path: "./data/purchase_orders.json"
MongoDB persistence has the following configuration properties:
- connection(s): object - MongoDB connection properties
- options: object - (optional) MongoDB connection options. See: http://mongoosejs.com/docs/connections.html for more details.
- debug: boolean - (optional) Enables or disables connection debugging
Example:
- descriptor: "service-purchaseorders:persistence:file:default:1.0"
collection: "purchase_orders"
connection:
uri: "mongodb://localhost/pipservicestest"
host: "localhost"
port: 27017
database: "app"
credential:
username: "user_db"
password: "passwd_db"
The controller component containes the core business logic of the microservice. Besides component descriptor it doesn't expect configuration options.
Example:
- descriptor: "service-purchaseorders:controller:default:default:1.0"
The service components (also called endpoints) expose external microservice API for the consumers. Each microservice can expose multiple APIs (HTTP/REST, Thrift or Seneca) and multiple versions of the same API type. At least one service is required for the microservice to run successfully.
HTTP/REST service has the following configuration properties:
- connection: object - HTTP transport configuration options
- protocol: string - HTTP protocol - 'http' or 'https' (default is 'http')
- host: string - IP address/hostname binding (default is '0.0.0.0')
- port: number - HTTP port number
A detailed description of HTTP protocol version 1 can be found here
Example:
- descriptor: "service-purchaseorders:service:http:default:1.0"
connection:
protocol: "http"
host: "0.0.0.0"
port: 8080
For more information on this section read Pip.Services Configuration Guide