current position：Home>Why not use - HTTP - instead of - RPC for calls between services?, Tencent background development
Why not use - HTTP - instead of - RPC for calls between services?, Tencent background development
2021-08-21 13:19:04 【Programmer's secret place】
Here's another online sequence diagram ：
From above RPC In the content of the introduction , A nutshell RPC Mainly solved ： Make calls between different services in a distributed or microservice system as simple as local calls .
RMI（JDK Bring their own ）：?JDK Self contained RPC, There are many limitations , It is not recommended to use .
Dubbo:?Dubbo yes Alibaba open source a high-performance excellent service framework , Enables applications to pass high-performance RPC Realize the output and input functions of services , You can talk to Spring Seamless integration of framework . at present Dubbo Has become a Spring Cloud Alibaba The official component in .
gRPC?：gRPC It's a modern open source high performance that can run in any environment RPC frame . It can effectively connect services within and across data centers through pluggable support , To achieve load balancing , track , Health checks and authentication . It also applies to the last mile of Distributed Computing , To put the equipment , Mobile applications and browsers connect to back-end services .
Hessian：?Hessian It's a lightweight remotingonhttp Tools , Using a simple method provides RMI The function of . comparison WebService,Hessian It's simpler 、 quick . It's binary RPC agreement , Because it uses binary protocol , So it's good for sending binary data .
Thrift：?Apache Thrift yes Facebook Open source, cross language RPC Communication framework , It has been donated to Apache Foundation management , Because of its cross language features and excellent performance , It's used by many Internet companies , Companies with capabilities can even be based on thrift Develop a distributed service framework , Add services such as registration 、 Service discovery and other functions .
###RPC It's just a design
RPC It's just a concept 、 A design , Just to solve it ? Call between different services , It usually contains ? Transfer protocol ? and ? Serialization protocol ? these two items. .
Realization RPC The transport protocol can be built directly on TCP above , It can also be built on HTTP The agreement above . Most of the RPC Frameworks are used TCP Connect （gRPC Used HTTP2）.
Maybe now many friends who are not familiar with computer network have been confused , To really understand , Also need to briefly review the basic knowledge of computer network ：
We usually talk about the architecture of five layer protocol of computer network ： application layer 、 Transport layer 、 The network layer 、 Data link layer 、 The physical layer .
** application layer (application-layer） The task is to complete a specific network application through the interaction between application processes .**HTTP Belongs to the application layer protocol , It will be based on TCP/IP Communication protocol to transmit data （HTML file , Picture file , Query results, etc ）.HTTP The protocol works on the client side - The server architecture is top . Browser as HTTP Client pass URL towards HTTP The server is WEB The server sends all requests .Web After the server receives the request , Send response information to client .HTTP The agreement is based on TCP The agreement above .
Transport layer (transport layer) The main task is to provide general data transmission services for the communication between two host processes .TCP It's the transport layer protocol , It mainly solves how to transmit data in the network . Compared with UDP,TCP? What is offered is Connection oriented Of , reliable Data transmission service .
The key is HTTP The use of TCP agreement , And our custom TCP The difference of protocol in message .
http1.1 Agreed TCP The message contains too much information that may be useless during transmission ：
HTTP/1.0 200 OK Content-Type: text/plain Content-Length: 137582 Expires: Thu, 05 Dec 1997 16:00:00 GMT Last-Modified: Wed, 5 August 1996 15:55:28 GMT Server: Apache 0.84 <html> <body>Hello World</body> </html> ### Last Do everything with your heart , Pay great attention to details . It looks insignificant 、 If the tedious work is done thoroughly, it will have unexpected value . Of course, to become a technical bull, you also need a certain ideological pattern , Thought determines which direction you want to go in the future , I suggest reading more books on life planning , Learn more about the ideological pattern of celebrities , In the future, you will go further . ** I've done a collation of more technical point mind maps , It covers the most popular Internet at present 99% Technical points , Here I share this map , And a set of interview system for golden nine and silver ten , Up to collection , Down to distributed microservices ** !(https://s2.51cto.com/images/20210820/1629409639173221.jpg) !(https://s2.51cto.com/images/20210820/1629409639953983.jpg) !(https://s2.51cto.com/images/20210820/1629409640784001.jpg) !(https://s2.51cto.com/images/20210820/1629409640196448.jpg) How to obtain this set of high-quality information ？ [**Java Interview selection questions 、 Structure the actual document delivery gate ： Get it free of charge here **](https://gitee.com/vip204888/java-p7)
author[Programmer's secret place],Please bring the original link to reprint, thank you.
The sidebar is recommended
- Crazy blessing! Tencent boss's "million JVM learning notes", real topic of Huawei Java interview 2020-2021
- How to implement injection in vuex source code?
- JQuery operation select (value, setting, selected)
- An article disassembles the pyramid architecture behind the gamefi outbreak
- BEM - a front-end CSS naming methodology
- [vue3] encapsulate custom global plug-ins
- Error using swiper plug-in in Vue
- Another ruthless character fell by 40000, which was "more beautiful" than Passat and maiteng, and didn't lose BMW
guess what you like
Huang Lei basks in Zhang Yixing's album, and the relationship between teachers and apprentices is no less than that in the past. Netizens envy Huang Lei
He was cheated by Wang Xiaofei and Li Chengxuan successively. Is an Yixuan a blessed daughter and not a blessed home?
Zhou Shen sang the theme song of the film "summer friends and sunny days" in mainland China. Netizen: endless aftertaste
Pink is Wangyuan online! Back to the peak! The new hairstyle is creamy and sassy
Front end interview daily 3 + 1 - day 858
Spring Webflux tutorial: how to build reactive web applications
[golang] walk into go language lesson 24 TCP high-level operation
August 23, 2021 Daily: less than three years after its establishment, Google dissolved the health department
The female doctor of Southeast University is no less beautiful than the female star. She has been married four times, and her personal experience has been controversial
There are many potential safety hazards in Chinese restaurant. The top of the program recording shed collapses, and the artist will fall down if he is careless
- Anti Mafia storm: He Yun's helpless son, Sun Xing, is destined to be caught by his dry son
- Introduction to flex flexible layout in CSS -- learning notes
- CSS learning notes - Flex layout (Ruan Yifeng tutorial summary)
- Today, let's talk about the arrow function of ES6
- Some thoughts on small program development
- Talk about mobile terminal adaptation
- Unwilling to cooperate with Wang Yibo again, Zhao Liying's fans went on a collective strike and made a public apology in less than a day
- JS function scope, closure, let, const
- Zheng Shuang's 30th birthday is deserted. Chen Jia has been sending blessings for ten years. Is it really just forgetting to make friends?
- Unveil the mystery of ascension
- Asynchronous solution async await
- Analysis and expansion of Vue infinite scroll source code
- Compression webpack plugin first screen loading optimization
- Specific usage of vue3 video play plug-in
- "The story of huiyeji" -- people are always greedy, and fairies should be spotless!
- Installing Vue devtool for chrome and Firefox
- Basic usage of JS object
- Two easy-to-use animation JS that make the page move
- Front end Engineering - scaffold
- Java SQL Server intelligent fixed asset management, back end + front end + mobile end
- Array de duplication problem solution - Nan recognition problem
- New choice for app development: building mobile applications using Vue native
- New gs8 Chengdu auto show announces interior Toyota technology blessing
- Vieira officially terminated his contract and left the team. The national security club sent blessings to him
- Less than 200000 to buy a Ford RV? 2.0T gasoline / diesel power, horizontal bed / longitudinal bed layout can be selected
- How does "heart 4" come to an end? Pinhole was boycotted by the brand, Ma Dong deleted the bad comments, and no one blessed him
- We are fearless in epidemic prevention and control -- pay tribute to the front-line workers of epidemic prevention!
- Front end, netty framework tutorial
- Xiaomi 11 | miui12.5 | android11 solves the problem that the httpcanary certificate cannot be installed
- The wireless charging of SAIC Roewe rx5 plus is so easy to use!
-  typescript
- CSS transform Complete Guide (Second Edition) flight.archives 007
- Ajax foundation - HTTP foundation of interview essential knowledge
- Cloud lesson | explain in detail how Huawei cloud exclusive load balancing charges
- [JS] 10. Closure application (loop processing)
- Left hand IRR, right hand NPV, master the password of getting rich