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 :
RPC What problems have been solved ?
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 .
common RPC Framework summary ?
-
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 .
both HTTP , Why RPC Make service calls ?
###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).
HTTP and TCP
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 :
copyright notice
author[Programmer's secret place],Please bring the original link to reprint, thank you.
https://en.qdmana.com/2021/08/20210821131859741q.html
The sidebar is recommended
- Crazy blessing! Tencent boss's "million JVM learning notes", real topic of Huawei Java interview 2020-2021
- JS JavaScript how to get the subscript of a value in the array
- How to implement injection in vuex source code?
- JQuery operation select (value, setting, selected)
- One line of code teaches you how to advertise on Tanabata Valentine's Day - Animation 3D photo album (music + text) HTML + CSS + JavaScript
- 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
Random recommended
- 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
- 1. JavaScript variable promotion mechanism
- 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
- Mediator pattern of JavaScript Design Pattern
- 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!
- Upload and preview pictures with JavaScript, and summarize the most complete mybatis core configuration file
- [25] 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
- Decorator pattern of JavaScript Design Pattern
- [JS] 10. Closure application (loop processing)
- Left hand IRR, right hand NPV, master the password of getting rich