GithubHelp home page GithubHelp logo

davidmr001 / incubator-servicecomb-service-center Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apache/servicecomb-service-center

0.0 1.0 0.0 12.42 MB

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

License: Apache License 2.0

HTML 2.79% JavaScript 3.87% CSS 0.63% Go 90.50% Shell 2.10% Batchfile 0.11%

incubator-servicecomb-service-center's Introduction

Apache-Incubator-ServiceComb-Service-Center

Build Status Coverage Status Go Report Card GoDoc HitCount

Apache ServiceComb (incubating) 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.

Features

  • Open API: API doc(Open API format) management for microservice
  • Metadata: Metadata management for both microservice and microservice instance
  • Dependency: Microservice dependency management
  • Seperated: Seperated 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

Documentation

Project documentation is available on the ServiceComb website. You can also find some development guide 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.

Windows(apache-incubator-servicecomb-service-center-XXX-windows-amd64.zip):

start-service-center.bat

Linux(apache-incubator-servicecomb-service-center-XXXX-linux-amd64.tar.gz):

./start-service-center.sh

Docker:

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 = "http://127.0.0.1:2380"
# manager_cluster = "sc-0=http://127.0.0.1:2380"
# 2. if registry_plugin equals to 'etcd'
# manager_cluster = "127.0.0.1:2379"
manager_cluster = "127.0.0.1:2379"

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

vi conf/app.conf

httpaddr = 127.0.0.1
httpport = 30100

Building & Running Service-Center from source

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

Running Frontend using the Release

You can download our latest release from ServiceComb Website and then untar it and run start-frontend.sh/start-frontend.bat. This will bring up the Service-Center UI on http://127.0.0.1:30103.

Windows(apache-incubator-servicecomb-service-center-XXX-windows-amd64.zip):

start-frontend.bat

Linux(apache-incubator-servicecomb-service-center-XXXX-linux-amd64.tar.gz):

./start-frontend.sh

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

frontend_host_ip=127.0.0.1
frontend_host_port=30103

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

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.

incubator-servicecomb-service-center's People

Contributors

aseto2016 avatar asifdxtreme avatar eric-lee-ltk avatar gupadhyaya avatar hellokklgh avatar jakcyzhou avatar joseph-v avatar little-cui avatar seanyinx avatar shanyiwang avatar shwethakumbla avatar sjh0027 avatar tanktian avatar tianxiaoliang avatar vibakar avatar willemjiang avatar yangbor avatar zenlint avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.