• Stars
    star
    9,796
  • Rank 3,603 (Top 0.08 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created almost 8 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Tars is a high-performance RPC framework based on name service and Tars protocol, also integrated administration platform, and implemented hosting-service via flexible schedule.

TARS - A Linux Foundation Project

What is TARS?

TARS is a Linux Foundation project. It is a high-performance RPC framework based on name service and Tars protocol, also integrated administration platform, and implemented hosting-service via flexible schedule.

Tars, aka TAF(Total Application Framework), has been used in Tencent since 2008. It supports C++, Java, Nodejs and PHP for now. This framework offers a set of solution for development, maintenance and testing, which making development, deployment and testing service efficiently. It integrated extensible protocol for encoding/decoding, high-performance RPC communication framework, name service, monitor, statistics and configuration. You can use it to develop your reliable distributed application based on microservice fast, and reach fully efficient service management.

Nowadays it's used by hundreds of bussiness in Tencent, services that developed base on TAF run on 16 thousands of machines.

See the detailed introduction SUMMARY.md.

Supported platforms

For now it supports OS as below:

  • Linux
  • Mac(>=2.1.0 support)
  • Windows (>= Windows 7)

Supported languages

For now it supports following languages:

  • C++
  • Java
  • Nodejs
  • PHP
  • Go

Version Management

Tars is composed of many modules, scattered in many warehouses, and the basic framework version and language version can develop independently. In view of this, from version 2.1.0, the Framework version tag is printed on the tarsframework warehouse, no longer reflected in the tars warehouse

In addition, each component will have its own version. When there is a version dependency specification, each component will have its own version

Installation

  1. If you are new to Tars, please read documentation installation.
  2. First deploy, please read documentation source.
  3. Install by docker, detail information: dockerใ€‚

Submodule

Directory Features
framework Source code implementation of C++ language framework basic service
cpp C++ language framework rpc source code implementation
java java language framework rpc source code implementation
go go language framework rpc source code implementation
nodejs nodejs language framework rpc source code implementation
php php language framework rpc source code implementation
tup source code implementation of tup group protocol in each language
web manage tars web source implementation

Developer's documentation

See docs.

License

The open-source protocol Tars used is BSD-3-Clause, see LICENSE.md.

Chinese Version

Read Chinese Version

More Repositories

1

TarsGo

A high performance microservice framework in golang. A linux foundation project.
Go
3,314
star
2

TarsCpp

C++ language framework rpc source code implementation
C++
518
star
3

TarsJava

Java language framework rpc source code implementation
Java
401
star
4

TarsFramework

Tars Basic service framework
C++
198
star
5

TarsDocs

The documentations of TARS
165
star
6

TarsWeb

TARS Projects Dashboard
JavaScript
141
star
7

TarsDocker

Tars Docker images
Shell
82
star
8

TarsBenchmark

benchmark tool for tars/http service
JavaScript
60
star
9

K8STARS

Native Kubernetes Solution for TARS Services
Go
59
star
10

TarsTup

Tars tup protocol
Objective-C
55
star
11

TarsGateway

C++
53
star
12

TarsProtocol

Tars protocol files
CMake
31
star
13

TarsJMeter

The bridge connecting JMeter and Tars, it ensures that people can efficiently use JMeter to complete the stress test of Tars microservices
Java
31
star
14

TarsDocs_en

The documentation of TARS in English
20
star
15

TarsTools

A JetBrains plugin for editing Jce/Tars files
Java
17
star
16

K8SFramework

Native Kubernetes Solution for TARS Services. Operator + CRD is adopted.
Go
16
star
17

Plugins

tars protobuf plugin
C++
14
star
18

Tars-Unittest

unit testcase of tars
C++
14
star
19

TARS_landscape

TARS Foundation Landscape
11
star
20

TarsDemo

For test TARS framework automatically
Python
10
star
21

TarsprotocolProxy

A protocol proxy which works on 4th Layer network. Support tars-tars protocol, tars-tup protocol and tars-json protocol.
C++
6
star
22

tarsgo-layout

Go
5
star
23

ArtWork

TARS Foundation related logos and artwork
5
star
24

TarsFoundation

TARS Foundation is the neutral home for open source Microservices projects that empower any industry to quickly turn ideas into applications at scale.
4
star
25

TarsJavaStart

TarsJava scaffolding tool
Java
3
star