Tars: New Ways to Scale
Tars
Published at 08/27/2019
News
Views 26762



At this year's Open Source Summit in San Diego, California, Jim Zemlin, executive director of the Linux Foundation, gave a keynote speech. He defined TARS, a microservice RPC framework that was open sourced by Tencent and donated to the Linux Foundation, as "New ways to scale", a way of mass service. Along with TARS, many industry-renowned projects such as Cloud Native and Let's Encrypt were officially certified in the keynote speech.

image.png
Jim Zemlin Linux Foundation Executive Director

TARS is a mature RPC framework developed by Tencent, which can quickly build systems and automatically generate code, taking into account ease of use and high performance. At the same time, TARS supports multiple programming languages ​​including C ++, Golang, Java, Node.js, PHP, and Python, helping developers and enterprises to quickly build their own stable and reliable distributed applications in a microservices manner, allowing development to focus on business logic To effectively improve operational efficiency.

On June 25, 2018, Tencent announced that it will contribute the TARS project to the Open Source Foundation, relying on a good open source community ecology to help more developers.

Mass service, a big framework

Former Tencent CTO Zhang Zhidong used three dimensions to define the Internet's massive services:

  • When online more than ten million;
  • When the index exceeds 10 billion;
  • When the data exceeds one hundred P.

And behind these massive services, what is required is not only the throughput capacity of the operating platform, but also the rationality, forward-looking, and scalability of the architecture design.

Mr. Kaifu Li once said that if Google adopts IBM's industry solutions, Google will go bankrupt, because in the traditional industry, the cost of each transaction is very expensive, and it has no way to scale to such a level. This determines the architectural orientation of doing massive services. Hardware and middleware cannot be relied on, because these are designed for relatively small-scale industries.

In the past 20 years, Tencent's user scale has experienced exponential rapid growth. Each climb of an order of magnitude will pose a new and severe challenge to the company's massive operating capabilities. In the technological world, there is no system that perfectly responds to Internet services of any size. Services of different magnitudes require different system architectures to support them. In addition, with each increase in scale, there will be more optimization needs.

Ten years ago, Tencent did not have a unified development framework, each business line had its own development habits, and each team also had its own development language. The wide variety of technology choices caused many problems in development collaboration:

  • Cross-language communication adaptation is very heavy, different teams will repeatedly implement the same functional components;
  • Centralized business logic, strong coupling, high development and maintenance costs, diversified service models, and inconsistent business agreements;
  • Different operation and maintenance tools, disorganized deployment management, poor standardization, and weak management capabilities;
  • The code repetition rate is high, and it is difficult to adapt to the development trend of mass access to services in terms of performance, high availability, and scalability;
  • Operational data is missing, monitoring dimensions are not three-dimensional, and it is difficult to analyze and find problems in the event of a failure.

With the increasing business scale, the technical team is forced to restructure and innovate. It is against this background that the TARS framework came into being.