
Tars: Tencent's microservice RPC framework, open-sourced to Linux Foundation - tarscloud
http://tarscloud.org/feeds/3463219192613486
======
kbumsik
I will never be interested in any projects whose primary language is Chinese,
or any languages other than English.

I wouldn't care if the project is targeted to China. But it is donated to The
Linux Foundation. The Linux Foundation should have not accepted such projects
at the beginning.

I'm Korean and there is nothing to do with China itself. But the more we
accept projects like this, the more they like to write in their language.
What's worst is that their Github issue page will be full of Chinese that
other people will not understand. I don't want to see the programming culture
get fragmented just because of the language.

~~~
nexuist
Have you considered how Chinese developers feel when they must not only browse
English documentation, but learn English keywords present in every major
programming language? How accessible do you think StackOverflow is to Mandarin
speakers?

The solution is incredibly simple. Hire professionals or invite volunteers to
provide an English version of the documentation. There is no need to force
developers to learn an entire new language to be useful to the community as a
whole. At the end of the day, it is the code that matters.

"I'm not a nice person, and I don't care about you. I care about the
technology and the kernel — that's what's important to me." \- Linus Torvalds

~~~
marvin
As a non-native English speaker: I strongly disagree with this. English is the
lingua franca of computer technology, and as long as this remains the case,
new entrants must adapt to the standard that is established. This is not a
matter of cultural imperialism, it's a pragmatic decision around how to
easiest communicate with the existing community.

"It's the code that matters" is a nice soundbite, but in software engineering
it's absolutely critical to be able to communicate and understand others'
code, as well as reason and communicate about what the code should do. Having
a working binary that's decoupled from any human language is only the end
result you get after this process.

Maybe Mandarin will be the lingua franca of computer technology in 30 years,
if China becomes the dominant player in technology development. But that's not
the world we have today, and this is really a decision between trying to
include Chinese developers in the international community of technologists, or
being stuck with two separate communities for the forseeable future.

[Edit: Of course, since Tencent has 75 open-source projects and there's
presumably a thriving community of Chinese technologists, we will most likely
end up with the latter result anyway. So you may actually end up in the
position where you'll have to learn Chinese to contribute instead, because the
Chinese developers will be similarly disinclined to use English as long as
they are able to get things done in their native language].

~~~
fivre
This is an anomaly borne out of the discipline's short history.

I had fellow students in my Russian classes that were there, in part, because
they wished to pursue math PhDs, and it was crucial to have competency in one
of the other major languages for math publications.

A software engineering community with multiple large active language
communities is inevitable, and doubly so for software's ubiquity. Math is at
least an ivory tower discipline with a small community that can tolerate
limited language diversity. The broader software community using English only
would be akin to HVAC professionals exclusively using Italian to discuss their
work.

~~~
CoolGuySteve
Unlike most HVAC professionals, academic researchers, pilots, and programmers
all need to frequently cooperate across cultural boundaries.

Computers could be in Latin, Esperanto, or Mandarin (which ironically in this
case names itself 普通话 “pu tong hua”, the common tongue) for all I care, as
long as it’s consistent. Right now it’s English.

------
moderation
China has its own RPC ecosystem. In addition to Tars there is Baidu's brpc [0]
now hosted with Apache, Weibo's Motan [1], Ant Financials SOFARPC [2],
Alibaba's Dubbo [3] also with Apache, Alibaba's HSF [4]

0\. [https://github.com/apache/incubator-
brpc](https://github.com/apache/incubator-brpc)

1\. [https://github.com/weibocom/motan](https://github.com/weibocom/motan)

2\. [https://github.com/sofastack/sofa-rpc](https://github.com/sofastack/sofa-
rpc)

3\. [http://dubbo.apache.org/en-us/](http://dubbo.apache.org/en-us/)

4\. [https://www.alibabacloud.com/help/doc-
detail/100087.htm](https://www.alibabacloud.com/help/doc-detail/100087.htm)

------
jayd16
According to this link it seems to be more than a wire protocol and seems more
like a service mesh.
[https://github.com/TarsCloud/Tars/blob/master/Introduction.m...](https://github.com/TarsCloud/Tars/blob/master/Introduction.md)

I see:

    
    
        -seems to be implemented as a library and not a sidecar?
        -a protobuf type protocol
        -client side load balancing with a name server
        -a consistent request queuing strategy
        -a web console for your services
        -unlike a service mesh, the scope seems to dip 
         into things like service config
        -end to end request flow tracking?
    

Hopefully someone familiar with it will flesh out the details.

~~~
tarscloud
Almost correct! If you are interested in it, please use translator, even
review source code firstly. We are working on translate > < Thanks!!!

------
dash2
Can I just say I really enjoy the Chinese-inflected English in use here.
Phrases like "Ten years of sharpening the sword" and "application treasures"
sound like some venerable Chinese saying, and I like to imagine the CEO
sipping tea ceremonially as he dictates into the Apple watch on his silk-
sleeved wrist.

~~~
yorwba
"Application treasures" 应用宝 _yìng yòng bǎo_ is a pun on "application package"
(i.e. APK) 应用包 _yìng yòng bāo_ and the name of Tencent's app store.

"Ten years sharpening the sword" is a line from a Tang dynasty poem by Jia
Dao. The Wikipedia article on him has a translation of the complete stanza:
[https://en.wikipedia.org/wiki/Jia_Dao](https://en.wikipedia.org/wiki/Jia_Dao)

------
AYBABTME
The docs seem to suggest that this is a fairly heavy whole system framework,
not just an RPC framework. Although I'm not sure because the translation in
English is rather poor and I unfortunately do not read mandarin. I want to
understand but it's a very hard to read document.

I'm curious if someone can tell more about:

(1) what the value proposition is in a succinct manner,

(2) the specific advantages of this technology versus other RPC frameworks
like gRPC or Thrift,

(3) some details about the serialization protocol, in particular is it
attempting to be low memory overhead like Cap'n Proto or to have interesting
features like Flatbuffers?

~~~
yegle
OT and Nit: Mandarin refers to one of the ways to read Chinese characters
(there are other ways e.g. Cantonese, Taiwanese). So you can say "I don't
speak Mandarin", but not "I don't read Mandarin".

~~~
bobthepanda
You can definitely say "read Mandarin", because particularly in informal
contexts there is definitely a difference between "Standard Chinese" based on
Mandarin and, say, spoken Cantonese written down.

------
sradman
My quick first take is that Tencent Tars combines a Google-like binary
message/RPC protocol (alternative to Protocol Buffers and gRPC) with
NetflixOSS-like Microservice Registry, Lookup, Load Balancing, and Fault
Tolerance tools. A back-end platform for web scale services provided by
businesses like Tencent, Facebook, Netflix, and Google which is why it closely
resembles some of their OSS offerings.

------
unlinked_dll
I can't read mandarin

Is there a document somewhere in english or source code? What is the
serialization protocol behind it? Advantages vs. JSON RPC, gRPC, etc?

~~~
tarscloud
Plz check docs and source code in (github.com/tarscloud)

~~~
unlinked_dll
When evaluating an RPC mechanism I'm mostly interested in performance
benchmarks between existing protocols and discussion of schema
migration/mutation than architecture (if I'm using your software as a
dependency, don't tell me how it works, show me the API and benchmarks!).

There appears to be a benchmark table in docs/performance.md but I hope some
native speaker can translate for the English speaking folks among us.

------
ddorian43
See smf-rpc (fastest rpc in the west)
[https://github.com/smfrpc/smf](https://github.com/smfrpc/smf)

Created in seastar-framework (scylladb's core) created at Akamai , used in
Redpanda ([https://vectorized.io/](https://vectorized.io/)) that is doing
scylladb for apache kafka.

------
azinman2
How does this compare to gRPC? What makes this “a new way to scale?” I found
the website confusing.

~~~
tarscloud
You could see [https://github.com/TarsCloud](https://github.com/TarsCloud) The
performance comparison result:
[https://github.com/TarsCloud/Tars/blob/master/docs/tars_perf...](https://github.com/TarsCloud/Tars/blob/master/docs/tars_performce.md)

~~~
thejosh
That's not in English though...

~~~
tarscloud
You also can check this one:
[https://github.com/TarsCloud/TarsGo/blob/master/docs/tars_go...](https://github.com/TarsCloud/TarsGo/blob/master/docs/tars_go_performance.md)

~~~
aloknnikhil
Do you have any benchmarks comparing TARS to Cap'nProto?

------
mark_l_watson
I love reading about how companies create technology that meets their own
special needs, whether that be scaling, special business problems, etc. I
would like to see more languages supported by Tencent’s RPC framework (Common
Lisp :-) ) but they are covering their own needs.

One quote in the article “Industrial fragmentation and decoupling of
technology will harm the long-term interests of mankind.” affected me because
for a long time I believed in individual effort, the efficacy of small teams,
etc. Now I think as much about society as technology, where we are headed, and
what does the most good for the most people. I see massive loss of privacy
freedoms but I also see the need for getting every bit of productivity from
all resources: human and environmental. I have a rosy and optimistic view for
the future, but it will involve what I expect to be radical changes in
societies, increasing power of elites in general and tech companies in
particular. Huge companies sharing technology and affecting standards is one
way to squeeze maximum efficiency out of the systems that support the world’s
population.

------
chaz6
I am finding more and more sites linked from here to be blocked by my
corporate proxy. The offending "host" is malware.opendns.com. They ought to
inform site owners when they are listed.

------
bebopsbraunbaer
i am kinda conflicted about all the "english first" comments. Isnt this just a
blubble / echo chamber ? Arent there eco systems of software not based on
english we just dont know about? Millions of coders in the east?

on the other hand, human langues (like programming languages) are just a tool
in the box right? Dont hold on to your old tool just because.

~~~
grenoire
The backlash is due to the Linux Foundation aspect of it.

------
pcriticism
Accepting anything from companies like Tencent will put you on a similar list
like this one:

[https://en.wikipedia.org/wiki/List_of_companies_involved_in_...](https://en.wikipedia.org/wiki/List_of_companies_involved_in_the_Holocaust)

Prisoners of conscience are herded in concentration camps and ready to be
salvaged as soon as someone is willing to pay for their bodies worth. The Nazi
Party thought of the Jews as lesser humans. The Chinese Communist Party thinks
of the Uyghurs as cattle to be slaughtered.

EDIT: I created this account because of my ethnic background. In China (thanks
to the CCP) I am guilty by birth.

------
pkilgore
2018?

------
gonewest
Yeah, but the problem is those api responses are only 95% accurate...

—

TARS : [as Cooper repairs him] Settings. General settings. Security settings.

TARS : Honesty, new setting: ninety-five percent.

TARS : Confirmed. Additional settings.

Cooper : Humor, seventy-five percent.

TARS : Confirmed. Self destruct sequence in T minus 10, 9...

Cooper : Let's make that sixty percent.

TARS : Sixty percent, confirmed. Knock knock.

Cooper : You want fifty-five?

