Categorygithub.com/wuerping/go-os
module
0.0.0-20170806100004-33ef150f1932
Repository: https://github.com/wuerping/go-os.git
Documentation: pkg.go.dev

# README

Go OS License GoDoc Travis CI Go Report Card

Go OS is a client library for Micro OS

NOTE: This is still a work in progress

Usage

Each package is backed by a Micro OS service. Packages can be used independently or with go-micro wrappers.

Features

Examples of usage can be found in go-os/examples

PackageBuilt-in PluginDescription
authauth-srvauthentication and authorisation for users and services
configconfig-srvdynamic configuration which is namespaced and versioned
dbdb-srvdistributed database abstraction
discoverydiscovery-srvextends the go-micro registry to add heartbeating, etc
eventevent-srvevent publication, subscription and aggregation
kvdistributed in-memorysimply key value layered on memcached, etcd, consul
logfilestructured logging to stdout, logstash, fluentd, pubsub
monitormonitor-srvadd custom healthchecks measured with distributed systems in mind
metricstelegrafinstrumentation and collation of counters
routerrouter-srvglobal circuit breaking, load balancing, A/B testing
syncconsuldistributed locking, leadership election, etc
tracetrace-srvdistributed tracing of request/response

# Packages

Package auth is an interface for authentication and authorization.
Package config is an interface for dynamic configuration.
Package db is an interface for abstracting away CRUD.
Package discovery is an interface for scalable service discovery.
Package event is an interface for event sourcing.
No description provided by the author
Package kv is an interface for key-value storage.
Package log is an interface for structured logging.
Package metrics is an interface for instrumentation.
Package monitor is an interface for monitoring.
Package router is an interface for global service routing.
Package sync is an interface for synchronization.
Package trace is an interface for tracing.