Microgateways allow Solace PubSub+ message brokers to act as HTTP load balancers, or simple API gateways between RESTful API clients and RESTful API service providers. When a Microgateway is configured, you can use request/reply semantics to send REST requests from clients through the message broker to the service providers responsible for servicing the requests, and return the responses back to the requesting clients. In other words, the message broker acts as an intermediary for those applications, enabling them to use the REST request/reply mechanism to reach remote microservices.
For a description of the various use cases that are enabled through the Microgateway feature, refer to Microgateway Use Cases.
In the following video, Solace VP of Product Management Steve Butchko and Developer Advocate Aaron Lee discuss the Microgateway feature.
Within a Message VPN, you can deploy either a Microgateway or a REST messaging service, but not both.
You Should Use a Microgateway When
You want to provide connectivity between a RESTful service endpoint (defined by Swagger/Open API, RAML, or more informally) and a REST client. Microgateways provide higher performance, but less functionality than API Gateways, yet more capabilities than HTTP load balancers. When a Microgateway is deployed, Solace imposes no requirements on the HTTP protocol used.
You Should Use a REST Messaging Service When
You want an application to send messages, but would prefer to use HTTP libraries instead of MQTT, AMQP, or libraries from Solace. When a REST messaging service is deployed, your application must use HTTP as defined in Solace REST HTTP Message Encoding.
Solace Microgateways are not intended be used as generic load balancers between browser and server applications. They provide high performance, simplicity, and enable event driven architectures for RESTful services. More specifically, they provide a unique function between the capabilities of an API Gateway and the simplicity of an HTTP load balancer.
The following table outlines some of the functional differences between API gateways, Solace Microgateways, and HTTP load balancers.
|Capability||API Gateway||Solace Microgateway||HTTP Load Balancer|
|Deep (Payload-based) Authorization|
|Request Load Balancing to Consumers|
|Request Burst Absorption and Buffering|
|Multi-Protocol Message Delivery|