Go OS is a client library for Micro OS
NOTE: This is still a work in progress
Each package is backed by a Micro OS service. Packages can be used independently or with go-micro wrappers.
Examples of usage can be found in go-os/examples
| Package | Built-in Plugin | Description |
|---|---|---|
| auth | auth-srv | authentication and authorisation for users and services |
| config | config-srv | dynamic configuration which is namespaced and versioned |
| db | db-srv | distributed database abstraction |
| discovery | discovery-srv | extends the go-micro registry to add heartbeating, etc |
| event | event-srv | event publication, subscription and aggregation |
| kv | distributed in-memory | simply key value layered on memcached, etcd, consul |
| log | file | structured logging to stdout, logstash, fluentd, pubsub |
| monitor | monitor-srv | add custom healthchecks measured with distributed systems in mind |
| metrics | telegraf | instrumentation and collation of counters |
| router | router-srv | global circuit breaking, load balancing, A/B testing |
| sync | consul | distributed locking, leadership election, etc |
| trace | trace-srv | distributed tracing of request/response |