Skip to content

A standalone service center to allow services to register their instance information and to discover providers of a given service

License

Notifications You must be signed in to change notification settings

joseph-v/incubator-servicecomb-service-center

 
 

Repository files navigation

service-center

Build Status Coverage Status Go Report Card GoDoc

Apache ServiceComb (incubating) service-center allows services to register their instance information and to discover providers of a given service.

Features

  • 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

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. Instructions for using these binaries are on the GitHub releases page.

Building and Running Service Center

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
If you want to try out the latest and greatest, Service Center can be easily built.

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).

Documentation

Project documentation is available on the ServiceComb website. You can also find some development guide here

Contact

Bugs: issues

Contributing

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

Reporting Issues

See reporting bugs for details about reporting any issues.

About

A standalone service center to allow services to register their instance information and to discover providers of a given service

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 89.6%
  • JavaScript 4.8%
  • HTML 3.5%
  • Shell 1.2%
  • Other 0.9%