FOCUS ON MICROSERVICE ECOSYSTEM
WITH HIGH PERFORMANCE AND MULTIPLE LANGUAGES

TARS uses IDL, Interface Description Language, to support many programming languages, such as C++, Java, Node.JS, PHP, Python, and Golang. In this way, programs written in different languages or on different platforms can communicate with each other.

According to the interface description file, TARS can automatically generate basic communication code between client and server. Developers only need to focus on business logic and provide service to the outside.TARS can be integrated into component management, code scanning, testing, and other tools or platforms, by helping to detect and to fix the problems of code quality.

TARS supports intelligent scheduling based on network and server state, such as location and latency. It also provides IDC, SET grouping, and other functions to meet requirements of customized scheduling. In order to prevent system crash caused by traffic burst or server failure, TARS uses non-blocking asynchronous request queue and monitors the length of the queue to ensure operation of the system.

The lossless change function of TARS makes the function module not affect the overall operation of the system in the process of changing through the way of grayscale. Additionally, it is convenient for operators to manage because of its multi-dimensional monitor and visual management platform.

FEATURES
PROTOCOL
TARS protocol is an implementation for IDL language. It is binary, extensible and cross-platform. Thus, servant objects implemented in different languages can communicate with each other through RPC calls.
TRACE
The framework can trace a specific request of a service. the traced request is labeled and forwarded to server. Then, servers report logs for traced request to log server. Users can analysis logs for traced request and diagnose problems.
MONITOR
The framework supports following data report function in order to monitor the quality of service process and business running status.
DEV-MODE
Developers define service interface via IDL. Tars generates codes for communication between client and server. Service only needs to implement service logic and client uses the generated code to call the service. The invoke modes split to 3 kinds: sync, async and one-way request.
BALANCE
The framework uses name service for service register and discovery. Client gets server address list via name service, then it uses a specified load balance policy to call servers.The supported load balance policies are round-robin, hash, weighted policy.
GROUP
In order to reduce response time of calls among servers and minimize influence of network failure, tars supports IDC grouping to groups server according to their locations. To facilitate service management, tars groups servers into Sets.
CONFIG
Server configurations are managed by tarsweb. Developer can change configurations in a webpage making the change easily and the change is safer. Developer can check history of configuration changes and rollback to previous version.
SHILED
It's implemented with two ways: name service excluded and client shielding. Name service will exclude fail server from address list. And Client removes inactive server from the server list for client shielding.
PROTECT
To avoid overloading the system because of burst requests or machine fault, tars handles this scenario in the framework. In order to improve system throughput, server uses request queue to process request asynchronously.
USED BY
RUNNING ON SERVERS BY OVER COMPANIES
Newsroom
GLIMPSES

Linux Founded in 2000. The Linux Foundation is dedicated to building sustainable ecosystems around open source projects to accelerate technology development and industry adoption.

A non-profit, microservices foundation, part of the Linux Foundation. TARS Foundation is an open source software foundation to build a powerful and flexible microservices ecosystem.

Subscription
该栏为必填
邮件格式有误,请重新输入
Thank You! Subscribe successfully!
The field is required.
The email already subscribed
Thank You! Subscribe successfully!