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.

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.
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.
The framework supports following data report function in order to monitor the quality of service process and business running status.
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.
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.
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.
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.
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.
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.

The Tars platform has played a pivotal role in the technological evolution of China Literature. The technical system has been rebuilt into a microservice system based on the Tars framework.

If the company does not have a unified application development framework or the current framework is not so good, Tars is a good choice when it comes to efficiency and other issues.

Tars is one of the few open-source projects that supports multi-language, integrated operation and maintenance micro-service framework, which meets the requirements of DT Mobile ​​in framework selection.

TARS framework supports multiple programming languages ​​including C ++ / Node.JS / Java / Golang / PHP, which fits Longtu's need to support multiple languages ​​used by different R & D teams. Although its application in Longtu is still in infancy, Longtu is very optimistic about the powerful, efficient framework.

Waiting for You!

Upcoming Event

KubeCon + CloudNativeCon Europe

August 13 2020 Amsterdam • Netherlands


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.

Thank You! Subscribe successfully!
The field is required.
The email already subscribed
Thank You! Subscribe successfully!