Merge pull request #68 from tianxiaoliang/master

change readme
tree: f6459514686a559864c79d948145ee110518924b
  1. build/
  2. cmd/
  3. conf/
  4. docs/
  5. examples/
  6. integration/
  7. licenses/
  8. proxy/
  9. scripts/
  10. tests/
  11. .gitignore
  12. .travis.yml
  13. go.mod
  14. Jenkinsfile
  15. LICENSE
  16. NOTICE
  17. README.md
  18. start.bat
  19. start.sh
README.md

Mesher

Build Status Coverage Status Go Report Card GoDoc

A service mesh implementation based on go chassis.

Why use mesher

  • any infrastructure: if you use ServiceComb as control plane, you can run on any infrastructure(docker, kubernetes,VM, bare metal).
  • service mesh and frameworks: you can develop micro services with java chassis or go chassis frameworks and use mesher to make other service join to the same system.
  • flexible: you can develop and customize your own service mesh
  • OS: support both linux and windows OS, which means you can govern your services writen in .net with java, go etc.

Features

  • Build on top of go micro service framework: so that mesher has all of features of go chassis,a high flexible go micro service framework. you can custom your own service mesh by extending lots of components.
  • Admin APIļ¼šListen on an isolated port, expose useful runtime information and metrics.
  • support protocols: http and grpc
  • No IP tables forwarding: Mesher leverage http_proxy and grpc proxy dialer, that makes better performance than using ip tables
  • local health check: as a sidecar, mesher is able to check local service health by policy and dynamically remove it from service registry if service is unavailable.

Get started

Refer to mesher-examples

How to build

Build from scratch

  1. Install ServiceComb service-center

  2. build and run, use go mod

export GOPROXY=https://goproxy.io #if you are facing network issue
cd mesher
GO111MODULE=on go mod download
#optional
GO111MODULE=on go mod vendor
cd cmd/mesher
go build mesher.go

Build by script

cd build
export GOPATH=/path/to/gopath
export GOPROXY=https://goproxy.io #if you are facing network issue
./build_proxy.sh

it will build binary and docker image

  • tar file: release/mesher-latest-linux-amd64.tar
  • docker image name: servicecomb/mesher-sidecar:latest

Documentations

https://mesher.readthedocs.io/en/latest/