Patron is french for
pattern, but it means also
boss which we found out later (no pun intended).
The entry point of the framework is the
Components to handle the processing of sync and async requests. The
Service starts by default an
HTTP Component which hosts the
/metrics endpoints. Any other endpoints will be added to the default
HTTP Component as
Routes one can specify middleware functions to be applied ordered to all routes as
MiddlewareFunc. The service sets up by default logging with zerolog, tracing and metrics with Jaeger and prometheus.
Patron provides abstractions for the following functionality of the framework:
- service, which orchestrates everything
- components and processors, which provide an abstraction of adding processing functionality to the service
- asynchronous message processing (RabbitMQ, Kafka, AWS SQS)
- synchronous processing (HTTP)
- gRPC support
- metrics and tracing
Patron provides the same defaults for making the usage as simple as possible.
Patron needs Go 1.16 as a minimum.