Giter VIP home page Giter VIP logo

polaris's Introduction

Polaris: Service Discovery and Governance

Build Status codecov.io Docker Pulls Contributors License GitHub release (latest by date)

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:

  • service discover, service register and health check

    Register node addresses into service dynamically, and discover the addresses through the discovery mechnism. Also provide health-checking mechanism to remove the unhealthy instances from service in time.

  • traffic control: request route and load balance

    Provide the mechanism to filter instances by request labels, instances metadata. Users can define rules to direct the request flowing into the locality nearby instances, or gray releasing version instances, etc.

  • overload protection: circuit break and rate limit

    Provide the mechanism to reduce the request rate when burst request flowing into the entry services.

    Provide the mechanism to collect the healthy statistic by the response, also kick of the services/interfaces/groups/instances when they are unhealthy.

  • observability

    User can see the metrics and tracing through the vison diagram, to be aware of the api call status on time.

  • config management

    Provide the mechanism to dynamic configuration subscribe, version management, notify change, to apply the configuration to application in time.

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.

Getting started

Installation

Download package

You can download the latest standalone package from the addresses below, be aware of to choose the package named polaris-standalone-release-*.zip, and filter the packages by os (windows10: windows, mac: darwin, Linux/Unix: linux).

Take polaris-standalone-release_v1.11.0-beta.2.linux.amd64.zip for example, you can use the following commands to unzip package:

unzip polaris-standalone-release_v1.11.0-beta.2.linux.amd64.zip
cd polaris-standalone-release_v1.11.0-beta.2.linux 

Start server

Under Linux/Unix/Mac platform, use those commands to start polaris standalone server:

bash install.sh

Under Windows platform, use those commands to start polaris standalone server:

install.bat

Verify installation

curl http://127.0.0.1:8090

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

If you want to learn more installation methods (changing ports, docker installation, cluster instanllation etc.), please refer: Installation Guide

Examples

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

Service Discovery and HealthCheck

(1) rpc framework examples:

(2) multi-language examples:

(3) proxy mode examples:

RateLimit

(1) rpc framework examples:

(2) multi-language examples:

(3) proxy mode examples:

Flow Control

(1) rpc framework examples:

(2) multi-language examples:

(3) proxy mode examples:

Configuration management

(1) rpc framework examples:

(2) multi-language examples:

More details

More capabilities:User Manual

Document

OpenAPI

API Manual

Benchmark Report

Benchmark

Official Document

If you want more capablities intruductions, architecture design and best pratises, please refer:polarismesh.cn

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

polaris's People

Contributors

andrewshan avatar chuntaojun avatar daheige avatar ranchowang avatar lepdou avatar samshan08 avatar liu-song avatar pemako avatar houseme avatar onecer avatar skyebefreeman avatar shichaoyuan avatar horizonzy avatar polaris-admin avatar edocevol avatar alexwanglei avatar dhbin avatar magederek avatar xiaohongxiedaima avatar guiyangzhao avatar chenyukang avatar nengjie avatar awdela0202 avatar enjoyliu avatar 10veu avatar zhangzerui20 avatar hoeryu avatar chenhengqi avatar jasonchen86899 avatar quicksandznzn 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.