/polaris

Service Governance Center for Distributed and Microservice Architecture

Primary LanguageGoOtherNOASSERTION

Polaris: Service Discovery and Governance

Build Status codecov.io Contributors License

English | 简体中文


README:

Principle or user manual can visit website to learn more

Introduction

Polaris is a cloud-native service discovery and governance center. It can be used to solve the problem of service connection, fault tolerance, traffic control and secure in distributed and microservice architecture.

Functions:

  • basic: service discover, service register and health check
  • fault tolerance: circuit break and rate limit
  • traffic control: request route and load balance
  • secure: authenticate

Features:

  • It provides SDK for high-performance business scenario and sidecar for non-invasive development mode.
  • It provides multiple clients for different development languages, such as Java, Go, C++ and Nodejs.
  • It can integrate with different service frameworks and gateways, such as Spring Cloud, gRPC and Nginx.
  • It is compatible with Kubernetes and supports automatic injection of K8s service and Polaris sidecar.

Components

server:

client:

ecosystem:

others:

  • website: Source for the polarismesh.cn site
  • samples: Samples for Learning PolarisMesh

Getting started

Preconditions

Prepare database

Please download and install MySQL, version requirement >=5.7, download available here: https://dev.mysql.com/downloads/mysql/5.7.html

Import SQL script

Point Script: ./store/sqldb/scripts/polaris_server.sql, one can import through mysql admin or console.

Prepare golang compile environment

Polaris server end needs golang compile environment, version number needs >=1.17, download available here: https://golang.org/dl/#featured.

Build

chmod +x build.sh
./build.sh

After built, one can see 'polaris-server-release_${version}.tar.gz' package from the list.

Installation

Unzip package

Obtain polaris-server-release_${version}.tar.gz, and unzip.

Change polaris configuration

After unzipped, vi polaris-server.yaml, replace DB configuration's variable to real database information : ##DB_USER## (database username), ##DB_PWD##(database password), ##DB_ADDR##(database address), ##DB_NAME##(database name)

Execute Installation Script

chmod +x ./tool/*.sh
# install
./tool/start.sh
# test whether the process is successful 
./tool/p.sh

After all, run ./p.sh, prompt Polaris Server, proof the installation is successful

Verify installation

curl http://127.0.0.1:8090

Return text is 'Polaris Server', proof features run smoothly

How to access

Polaris supports microservices built with multi-language, multi-framework, multi-mode (proxyless / proxy) to access。

(1) multi-language access guide:

(2) multi-framework access guide:

(3) proxy mode access guide:

More access guide:Doc

User manual

Polaris function guide can refer:Manual

Chat group

Please scan the QR code to join the chat group.

Contribution

If you have good comments or suggestions, please give us Issues or Pull Requests to contribute to improve the development experience of Polaris Mesh.


see details:CONTRIBUTING.md