Skip to content

robmurtha/mercury

 
 

Repository files navigation

Mercury

Build Status GoDoc

An RPC client/server implementation using Typhon, intended for building microservices.

Server

A Server receives RPC requests, routes them to an Endpoint, calls a handler function to "do work," and returns a response back to a caller.

Server middleware

Server middleware offers hooks into request processing for globally altering a server's input or output. They could be used to provide authentication or distributed tracing functionality, for example.

Client

A Client offers a convenient way, atop a Typhon transport, to make requests to other servers. They co-ordinate the execution of many parallel requests, deal with response and error unmarshaling, and provide convenient ways of dealing with response errors.

Client middleware

Like server middleware, clients too have hooks for altering outbound requests or inbound responses.

Service

A Service is a lightweight wrapper around a server, which also sets up some global defaults (for instance, to use the same default client transport as the server).

About

An RPC client/server implementation using Typhon, intended for building microservices.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.8%
  • Protocol Buffer 0.2%