polaris

command module
v1.13.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2022 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause, + 3 more Imports: 24 Imported by: 0

README

Polaris: Service Discovery and Governance

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

English | 简体中文


README:

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

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

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
common
cl5
connlimit/mock_net
Package mock_net is a generated GoMock package.
Package mock_net is a generated GoMock package.
log
Package log Once configured, this package intercepts the output of the standard golang "log" package as well as anything sent to the global zap logger (zap.L()).
Package log Once configured, this package intercepts the output of the standard golang "log" package as well as anything sent to the global zap logger (zap.L()).
utils
Package utils contains common utility functions
Package utils contains common utility functions
utils
Package utils contains some common functions
Package utils contains some common functions
release
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
sqldb
Package sqldb is a generated GoMock package.
Package sqldb is a generated GoMock package.
test
tools Module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL