{"id":13754010,"url":"https://github.com/apache/servicecomb-mesher","last_synced_at":"2025-05-16T15:08:36.070Z","repository":{"id":33275964,"uuid":"146576437","full_name":"apache/servicecomb-mesher","owner":"apache","description":"A high performance service mesh implementation written in go","archived":false,"fork":false,"pushed_at":"2024-09-19T03:49:11.000Z","size":747,"stargazers_count":688,"open_issues_count":30,"forks_count":70,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-05-09T13:25:11.248Z","etag":null,"topics":["istio","microservice","microservices-architecture","proxy","servicemesh"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-29T09:24:08.000Z","updated_at":"2025-05-07T07:49:47.000Z","dependencies_parsed_at":"2024-03-10T08:31:45.410Z","dependency_job_id":"f9f6a761-403b-4eff-9796-7156f5a90854","html_url":"https://github.com/apache/servicecomb-mesher","commit_stats":{"total_commits":120,"total_committers":17,"mean_commits":"7.0588235294117645","dds":0.6,"last_synced_commit":"6d1d2693f15871c2f1a22ecd6a5a4c691b6a26b6"},"previous_names":["go-mesh/mesher"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fservicecomb-mesher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fservicecomb-mesher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fservicecomb-mesher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fservicecomb-mesher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/servicecomb-mesher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254043089,"owners_count":22004910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["istio","microservice","microservices-architecture","proxy","servicemesh"],"created_at":"2024-08-03T09:01:37.169Z","updated_at":"2025-05-16T15:08:31.060Z","avatar_url":"https://github.com/apache.png","language":"Go","readme":"# Mesher\n\n[![Build Status](https://travis-ci.org/apache/servicecomb-mesher.svg?branch=master)](https://travis-ci.org/apache/servicecomb-mesher) \n[![Coverage Status](https://coveralls.io/repos/github/apache/servicecomb-mesher/badge.svg?branch=master)](https://coveralls.io/github/apache/servicecomb-mesher?branch=master) \n[![Go Report Card](https://goreportcard.com/badge/github.com/apache/servicecomb-mesher)](https://goreportcard.com/report/github.com/apache/servicecomb-mesher) \n[![GoDoc](https://godoc.org/github.com/apache/servicecomb-mesher?status.svg)](https://godoc.org/github.com/apache/servicecomb-mesher) \n\nA service mesh implementation based on [go chassis](https://github.com/go-chassis/go-chassis).\n\n\n\u003e Notice to contributors: this project is not active due to lack of maintainers. If you are interested in this project, please cantact us and we will help you to be a committer. \n\n\u003e Notice to users: this project is not active due to lack of maintainers. Before we find enough resources, do not use this project if possible. \n\n# Why use mesher\n- any infrastructure: if you use ServiceComb as control plane, you can run on any infrastructure(docker, kubernetes,VM, bare metal). \n- service mesh and frameworks: \nyou can develop micro services with java chassis or go chassis frameworks \nand use mesher to make other service join to the same system.\n- flexible: you can develop and customize your own service mesh\n- OS: support both linux and windows OS, which means you can govern your services writen in .net with java, go etc.\n- API gateway: mesher is able to run as a independent edge service and manage ingress traffic.\n# Features\n- Build on top of go micro service framework: so that mesher has all of features of \n[go chassis](https://github.com/go-chassis/go-chassis),a high flexible go micro service framework. \nyou can custom your own service mesh and API gateway by extending lots of components.\n- Admin API：Listen on an isolated port, expose useful runtime information and metrics.\n- support protocols: http and grpc\n- No IP tables forwarding: Mesher leverage \n[http_proxy](http://kaamka.blogspot.com/2009/06/httpproxy-environment-variable.html) \nand [grpc proxy dialer](https://godoc.org/google.golang.org/grpc#WithDialer), \nthat makes better performance than using ip tables\n- local health check: as a sidecar, mesher is able to check local service health by policy\nand dynamically remove it from service registry if service is unavailable.\n\n# Get started\nRefer to [mesher-examples](https://github.com/go-mesh/mesher-examples)\n\n### How to build\n#### Build from scratch\n1. Install ServiceComb [service-center](https://github.com/ServiceComb/service-center/releases)\n\n2. build and run, use go mod\n```shell\nexport GOPROXY=https://goproxy.io #if you are facing network issue\ncd mesher\nGO111MODULE=on go mod download\n#optional\nGO111MODULE=on go mod vendor\ncd cmd/mesher\ngo build mesher.go\n```\n#### Build by script\n\n```bash\ncd build\nexport GOPATH=/path/to/gopath\nexport GOPROXY=https://goproxy.io #if you are facing network issue\n./build_proxy.sh\n\n```\nit will build binary and docker image\n- tar file: release/mesher-latest-linux-amd64.tar\n- docker image name: servicecomb/mesher-sidecar:latest\n\n#### Build mesher edge service\n```shell script\nsudo docker build -t servicecomb/mesher-edge -f docker/edge/Dockerfile .\n```\n\n### How to run\n#### edge service\n```shell script\nsudo docker run -e PAAS_CSE_SC_ENDPOINT=\"\" \\\n-e PAAS_CSE_CC_ENDPOINT=\"\" \\\n-p 80:30101 \\\n--name mesher-edge servicecomb/mesher-edge\n```\n# Documentations\nYou can see more documentations in [here](https://mesher.readthedocs.io/en/latest/), \nthis online doc is for latest version of mesher, if you want to see your version's doc,\nfollow [here](docs/README.md) to generate it in local\n\n# RoadMap\n## 1.7.0\n- mesher ingress: mesher as a edge service to manage ingress traffic\n- integrate with servicecomb kie: user can change mesher-sidecar and mesher-ingress in same config server, don't need to change local files\n## in future\n- support skywalking\n","funding_links":[],"categories":["servicemesh","Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fservicecomb-mesher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fservicecomb-mesher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fservicecomb-mesher/lists"}