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 |