Skip to content
A standalone service center to allow services to register their instance information and to discover providers of a given service
Branch: master
Clone or download
Latest commit 3eb06e4 May 15, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update Apr 1, 2019
docs SCB-1070 Add 'TESTING' status in the UI (#518) Dec 24, 2018
etc/conf SCB-972 Using Sha1 signature key as UUID of micro service (#460) Oct 23, 2018
examples Update ASF headers Nov 19, 2018
frontend fix bug when open frontend on firefox (#546) May 15, 2019
integration SCB-1092 More abundant metrics information (#536) Mar 19, 2019
pkg SCB-1059 Bug fixes (#540) Mar 19, 2019
scctl SCB-1059 Bug fixes (#540) Mar 19, 2019
scripts Updated the year information in NOTICE file Apr 2, 2019
server Add some comments Mar 25, 2019
version SCB-1016 Change git repo name (#483) Nov 11, 2018
.gitmodules Initial Commit May 18, 2017
.travis.yml SCB-1059 Update Etcd version from v3.1.9 to v3.3.10 (#527) Jan 21, 2019 Create Nov 15, 2018
NOTICE Updated the year information in NOTICE file Apr 2, 2019 Create Nov 15, 2018
docker-compose.yml Update ASF headers Nov 19, 2018
go.mod Issues #539 update the dependency list and add the corresponding lice… Mar 28, 2019
main.go SCB-1016 Change git repo name (#483) Nov 11, 2018


Build Status Coverage Status Go Report Card GoDoc HitCount Gitter

Apache ServiceComb Service-Center is a Restful based service-registry that provides micro-services discovery and micro-service management. It is based on Open API format and provides features like service-discovery, fault-tolerance, dynamic routing, notify subscription and scalable by design. It has high performance cache design and separate entity management for micro-services and their instances. It provides out of box support for metrics and tracing. It has a web portal to manage the micro-services.


  • Open API: API doc(Open API format) management for microservice
  • Metadata: Metadata management for both microservice and microservice instance
  • Dependency: Microservice dependency management
  • Separated: Separated microservice and microservice instance entity management
  • Domains: Logical multiple domains management
  • Security: White and back list configuration for service discovery
  • Discovery: Support query instance by criteria
  • Subscribe: Use web socket to notify client about instance change events
  • Portal: Awesome web portal
  • Fault tolerance: Multiple fault tolerance mechanism and design in the architecture
  • Performance: Performance/Caching design
  • Metrics: Able to expose Prometheus metric API automatically
  • Tracing: Able to report tracing data to Zipkin server
  • Pluginable: Able to load custom authentication, tls and other dynamic libraries
  • CLI: Easy to control service center
  • Kubernetes: Embrace kubernetes ecosystem and support multi cluster service discovery
  • Datacenters: Additional layer of abstraction to clusters deployed in multiple datacenters
  • Aggregation: Able to aggregate microservices from multiple registry platforms and support platform registry and client side registry at the same time


Project documentation is available on the ServiceComb website. You can also find full document here.

Quick Start

Getting Service Center

The easiest way to get Service Center is to use one of the pre-built release binaries which are available for Linux, Windows and Docker.

Running Service Center using the Release

You can download our latest release from ServiceComb Website.When you get these release, you can execute the start script to run Service Center.






docker pull servicecomb/service-center
docker run -d -p 30100:30100 servicecomb/service-center

Note: The Releases of Service-Center uses emebeded etcd, if you want to use the seperate instance of etcd then you can deploy the etcd seperately and configure the etcd ip over here.

vi conf/app.conf

## Edit this file
# registry address
# 1. if registry_plugin equals to 'embeded_etcd'
# manager_name = "sc-0"
# manager_addr = ""
# manager_cluster = "sc-0="
# 2. if registry_plugin equals to 'etcd'
# manager_cluster = ""
manager_cluster = ""

By default the SC comes up on, however you can change the configuration of these address over here.

vi conf/app.conf

httpaddr =
httpport = 30100

Building & Running Service-Center from source


  • Go version 1.8+ is required to build the latest version of Service-Center.

Download the Code

git clone $GOPATH/src/
cd $GOPATH/src/


By default, we use glide(version: 0.13+) to manage dependencies. If the go version greater then go1.11, you can download dependencies directly using command go mod. Please follow below steps to download all the dependency.

# greater then go1.11
GO111MODULE=on go mod download
GO111MODULE=on go mod vendor

# lower than go1.11
curl | sh
glide install

Build the Service-Center

go build -o service-center

First, you need to run a etcd(version: 3.x) as a database service and then modify the etcd IP and port in the Service Center configuration file (./etc/conf/app.conf : manager_cluster).

tar -xvf etcd-v3.1.8-linux-amd64.tar.gz
cd etcd-v3.1.8-linux-amd64

cd $GOPATH/src/
cp -r ./etc/conf .

This will bring up Service Center listening on ip/port for service communication.If you want to change the listening ip/port, you can modify it in the Service Center configuration file (./conf/app.conf : httpaddr,httpport).

Running Frontend using the Release

You can download our latest release from ServiceComb Website and then untar it and run This will bring up the Service-Center UI on





Note: By default frontend runs on, if you want to change this then you can change it in conf/app.conf.


You can follow the guide over here to run the Frontend from source.

Get The Latest Release

Download Service Center


Bugs: issues


See Contribution guide for details on submitting patches and the contribution workflow.

Reporting Issues

See reporting bugs for details about reporting any issues.

You can’t perform that action at this time.