insighted-go

module
v0.0.0-...-11dd352 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2018 License: MIT

README

Insighted Go - Microservice Toolkit

This toolkit provides an experimental packages to put together server and pubsub daemons with the following features:

  • Standardized configuration and logging
  • Health check endpoints with configurable strategies
  • Configuration for managing pprof endpoints and log levels
  • Basic interfaces to define expectations and vocabulary
  • Structured logging containing basic request information
  • Useful metrics for endpoints
  • Graceful shutdowns

Goals

  • RPC as the primary messaging pattern
  • Event sourcing library
  • Supporting messaging patterns other than RPC — e.g. Pub/Sub, CQRS, etc.

Non-goals

  • Re-implementing functionality that can be provided by adapting existing software
  • Having opinions on operational concerns: deployment, configuration, process supervision, orchestration, etc.

The Kit Package

This is an experimental reference for creating microservices in Go.

The rationale behind this package:

  • A more opinionated server with fewer choices.
  • Gin-Gonic is used for serving HTTP/JSON & gRPC is used for serving HTTP2/RPC
  • Monitoring and metrics are handled by a sidecar (ie. Cloud Endpoints)
  • Logs always go to stdout/stderr
  • Using Go's 1.8 graceful HTTP shutdown
  • Services using this package are meant for deploy to Kuberntes.

If you experience any issues please create an issue.

Examples

Several reference implementations utilizing server and pubsub are available in the examples subdirectory.

Contributing

Please see CONTRIBUTING.md.

This project is highly influenced by gizmo and go-kit design.

Service frameworks
  • go-kit, a programming toolkit for building microservices ★
  • gizmo, a microservice toolkit from The New York Times ★
  • go-micro, a microservices client/server library ★
Individual components
Web frameworks

Additional reading


Development supported by Insighted4.

Directories

Path Synopsis
examples
kit
Package kit provides experimental packages to put together server and pubsub daemons with the following features: * Standardized configuration and logging * Health check endpoints with configurable strategies * Configuration for managing pprof endpoints and log levels * Basic interfaces to define expectations and vocabulary * Structured logging containing basic request information * Useful metrics for endpoints * Graceful shutdowns This is an experimental reference for creating Microservices in Go.
Package kit provides experimental packages to put together server and pubsub daemons with the following features: * Standardized configuration and logging * Health check endpoints with configurable strategies * Configuration for managing pprof endpoints and log levels * Basic interfaces to define expectations and vocabulary * Structured logging containing basic request information * Useful metrics for endpoints * Graceful shutdowns This is an experimental reference for creating Microservices in Go.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL