NATS C Client with JetStream and Streaming support  3.8.0
The nats.io C Client, Supported by Synadia Communications Inc.
Loading...
Searching...
No Matches
EXPERIMENTAL - Microservices

Topics

 Types
 
 Callbacks
 
 Public structs
 
 Public constants
 
 Functions
 

Detailed Description

Warning
EXPERIMENTAL FEATURE! We reserve the right to change the API without necessarily bumping the major version of the library.

NATS Microservices.

Microservices can expose one or more request-response endpoints that process incoming NATS messages.

Microservices are created by calling micro_AddService, and configured by passing a microServiceConfig to it. Many microservices can share a single connection to a NATS server.

Once created, a microservice will subscribe to all endpoints' subjects and associate them with the configured handlers. It will also subscribe to and service monitoring subjects for service-specific pings, metadata, and statistics requests. The endpoint subscriptions are created with a queue group, so that incoming requests are automatically load-balanced across all running instances of a microservice. The monitoring subscriptions are not groupped, each service instance receives and responds to all monitoring requests.

Once created, the microservice is asyncronous, message handlers and other callbacks will be invoked in separate threads. No further action is needed. Your program can use microService_Stop, microService_IsStopped to control the execution of the service.