Polaris: Service Discovery and Governance
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.