Back to godoc.org
github.com/serviceComb/go-chassis

Module github.com/serviceComb/go-chassis

v0.7.1
Latest Go to latest

The latest major version is .

Published: Aug 16, 2018 | License: Apache-2.0

README

Go-Chassis

Build Status Coverage Status Go Report Card GoDoc HitCount Join Slack

Go-Chassis is a Software Development Kit(SDK) for rapid development of microservices in Go

Go-chassis is based on Go-Micro A pluggable RPC framework

Features

  • Pluggable registrator and discovery service: Support Service center,istio pilot and file based registry, fit both client side discovery and server side discovery pattern
  • Pluggable Protocol: You can custom your own protocol, by default support http and highway(RPC)
  • Circuit breaker: Protect your service in runtime or on-demand
  • Route management: Able to route to different service based on weight and match rule to achieve Canary Release easily
  • Load balancing: Able to custom strategy and filter
  • Rate limiting: Both client side and server side rate limiting
  • Pluggable Cipher: Able to custom your own cipher for AKSK and TLS certs
  • Handler Chain: Able to add your own code during service calling for client and server side
  • Metrics: Able to expose Prometheus metric API automatically and custom metrics reporter
  • Tracing: Integrate with Zipkin to sink tracing data
  • Logger: You can custom your own writer to sink log, by default support file and stdout
  • Hot-reconfiguraion: A lot of configuration can be reload in runtime, like loadbalancing, circuit breaker, rate limiting
  • Dynamic Configuration framework: Able to develop a service which has hot-reconfiguration feature easily
  • Fault Injection: In consumer side, you can inject faults to bring chaos testing into your system

You can check plugins to see more features

Quick Start

You can see more documentations in here

  1. Install go 1.8+

  2. Clone the project

git clone git@github.com:go-chassis/go-chassis.git
  1. Use glide to download dependencies
cd go-chassis 
glide install
  1. Install service-center

  2. Write your first http micro service

Examples

You can check examples here

Communication Protocols

Go-Chassis supports two types of communication protocol. 1. Rest - REST is an approach that leverages the HTTP protocol for communication. 2. Highway - This is a high performance communication protocol originally developed by Huawei.

Source: github.com/serviceComb/go-chassis@v0.7.1/README.md