Apache ServiceComb (incubating) service-center allows services to register their instance information and to discover providers of a given service.
- Seperated microservice and microservice instance entity management
- White and back list configuration for service discovery
- Use web socket to notify client about instance change events
- Support query instance by criteria
- Metadata management for both microservice and microservice instance
- API doc(Open API format) management for microservice
- Microservice dependency management
- Awesome web portal
- Multiple fault tolerance mechanism and design in the architecture
- Performance/Caching design
- Metrics: Able to expose Prometheus metric API automatically
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. Instructions for using these binaries are on the GitHub releases page.
You don't need to build from source to use Service Center (binaries on the GitHub releases page).When you get these binaries, you can execute the start script to run Service Center.
Windows(service-center-xxx-windows-amd64.zip):
start.bat
Linux(service-center-xxx-linux-amd64.tar.gz):
./start.sh
Docker:
docker pull servicecomb/service-center
docker run -d -p 30100:30100 servicecomb/service-center
Download the Code
git clone https://github.com/apache/incubator-servicecomb-service-center.git $GOPATH/src/github.com/apache/incubator-servicecomb-service-center
cd $GOPATH/src/github.com/apache/incubator-servicecomb-service-center
Dependencies
We use gvt for dependency management, please follow below steps to download all the dependency.
go get github.com/FiloSottile/gvt
gvt restore
If you face any issue in downloading the dependency because of insecure connection then you can use gvt restore -precaire
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).
wget https://github.com/coreos/etcd/releases/download/v3.1.8/etcd-v3.1.8-linux-amd64.tar.gz
tar -xvf etcd-v3.1.8-linux-amd64.tar.gz
cd etcd-v3.1.8-linux-amd64
./etcd
cd $GOPATH/src/github.com/apache/incubator-servicecomb-service-center
cp -r ./etc/conf .
./service-center
This will bring up Service Center listening on ip/port 127.0.0.1:30100 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).
Project documentation is available on the ServiceComb website. You can also find some development guide here
Bugs: issues
See Contribution guide for details on submitting patches and the contribution workflow.
See reporting bugs for details about reporting any issues.