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



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.

image.png

TARS is a high-performance RPC framework based on the TARS protocol, which provides an integrated microservice governance solution for development and operation and maintenance. The advantages of multi-language, agile research and development, high availability, and efficient operation make it an enterprise-grade product out of the box. TARS has been polished in Tencent for ten years, and has been widely used in Tencent's QQ social, video, games, maps, application treasures and housekeepers, and other hundreds of core businesses. The scale of microservices has reached one million, perfecting the practice of the industry. DevOps philosophy and Tencent's mass service approach.

Tencent's hundreds of products, and the mass services known to the world, run on this self-developed microservice framework. Zhang Zhidong shared Tencent's mass service approach, and TARS continued to iterate, optimize, and evolve.

Forces open source, TARS moves forward

"We will actively participate in the construction of the global technology community through open source internal and external methods."

"No country today can fully possess all the resources, technologies and capabilities needed for a new round of science and technology and industry in the world. Industrial fragmentation and decoupling of technology will harm the long-term interests of mankind.

On August 26, at the 2019 China International Intelligent Industry Expo (ZHIBO) Summit Forum held in Chongqing, Ma Huateng, Chairman and CEO of Tencent, made a speech. He also mentioned that Tencent is willing to open source internal and external Actively participate in the construction of a global science and technology community.

All along, the industry's recognition of Tencent's product capabilities is far higher than its technical capabilities. Since Tencent announced the adjustment of its organizational structure in the second half of 2018, we can see that Tencent's determination to develop technology is heavy. Two major business groups have been adjusted, the CSIG Cloud and Smart Industry Business Group and the PCG Platform and Content Business Group. In addition, Lu Shan and Tang Daosheng, members of the General Office, led the establishment of the technical committee, and the technical leaders of several major business groups entered the technical committee decision-making circle.

Promoting open source collaboration and self-research on the cloud are the two keys of the technical committee. Among them, open source is the great news that has the closest relationship with ordinary developers.

Why open source? There are at least three reasons: first, open source can help others develop software faster and promote world innovation, mainly in terms of social value; second, open source can force engineers to write better code; third, open source can be used more effectively The power of the community to solve problems together.

As of July 2019, Tencent has 75 open source projects, and its leading open source projects have accumulated nearly 220,000 Stars on GitHub. Among them, the open source projects cover multiple fields such as cloud, games, big data, AI, and small programs. Several business teams participated in contributing to well-known open source communities and projects such as OpenStack, KVM, Docker, NVDIMM, ceph, HBase, Hadoop, Linux, Spark, Kubernetes, torrent, dht, goprocinfo, flannel, and netlink, and became members and maintainers, which have been recognized internationally And recognition.

As a practitioner of Tencent's mass service approach and a master of micro-service exploration for ten years, the open source community of TARS is naturally inevitable. In April 2017, TARS officially announced open source, and community participation increased significantly. In the following eight months, TARS took the initiative to iterate over three versions, involving multiple new features, languages, and updates to the ProtoBuf protocol. In addition, members of the Reading Group, Huya, Youpin Wealth, and HKUST Xunfei also actively contributed to TARS and TSeer, driving the application of TARS and TSeer in various industries such as finance, education, health care and government affairs.

Ten years of sharpening the sword has not unexpectedly become a Tencent open source signature project. Only one year after the open source, the Linux Foundation accepted the donation of Tencent and became an open source project of the Linux Foundation. sure. It is not difficult to foresee that Tencent, which is committed to open source from the organizational structure level, will surely gain more recognition from engineers and technical teams in the future, and attract more outstanding developers to participate in open source projects initiated by Tencent.