Tars README

The project's README from github.com/TarsCloud/Tars. As one markdown file: README.md.

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:

Supported languages

For now it supports following languages:

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

Tars (TarsCloud/Tars)

Searching Database…

10.1K ·GitHub
这是什么?一个基于名字服务和 Tars 协议的高性能 RPC 框架,内置管理平台,可通过灵活的调度来托管服务。它起源于腾讯内部的 TAF,现在是 Linux 基金会的开源项目。
它是我写代码时用的框架,还是我部署运行的平台?两者都是:你可以基于 C++、Java、Nodejs、PHP 或 Go 的 RPC 库来编写服务,同时部署 Tars 框架本身——包括名字服务、监控、统计、配置和 Web 管理后台——来托管和管理这些服务。
我怎么把 Tars 环境搭起来?README 会引导新手去阅读安装文档,首次部署则提供了从源码部署的指南,同时也支持用 Docker 作为另一种安装方式。
我可以用哪些语言来写服务?C++、Java、Nodejs、PHP 和 Go,每种语言都有各自的 RPC 实现,以子模块的形式保存在这个仓库里。
它经过生产环境验证了吗,还是仍处于试验阶段?自 2008 年起就在腾讯的生产环境中运行,数百个业务的服务跑在大约 16000 台机器上,现在它还是 Linux 基金会的项目。
它实际支持哪些操作系统?Linux、Mac(从 2.1.0 版本才开始支持)以及 Windows 7 及以上版本。
我能在商业产品中使用它吗?可以——它采用 BSD-3-Clause 许可证,这是一种宽松的开源许可证。
除了 RPC 调用本身,Tars 还负责什么?开箱即用,它自带可扩展的编解码协议、高性能 RPC 层、名字服务、监控、统计上报和集中式配置,还有一个用来管理服务的 Web 控制台。
这个仓库里都有什么?各子模块涵盖:C++ 框架核心,cpp、java、go、nodejs 和 php 各自独立的 RPC 实现,tup 分组协议源码,以及 tars Web 管理平台。
为什么版本号容易搞混?Tars 拆分在很多仓库里,框架和各语言组件的版本也是各自独立发布的:从 2.1.0 起,框架版本号放在 tarsframework 仓库里,每个组件则带有自己的版本号。
TAF 是什么?TAF(Total Application Framework)是 Tars 在腾讯内部的原名,从 2008 年起就一直在生产环境中使用。
What are similar projects?go-zero, dtm, consul, zuul, redpanda, nsq, xxl-job, brpc
Creator
TarsCloud
Size
15.6 MB
Stars
10.1K
Age
9y
Commits · 90 Days