Skip to content

Commit 52302c5

Browse files
author
gao peng
committed
文章内容优化
1 parent ff23907 commit 52302c5

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

docs/system-design/data-communication/why-use-rpc.md

+9-3
Original file line numberDiff line numberDiff line change
@@ -74,21 +74,27 @@ Server: Apache 0.84
7474
</html>
7575
```
7676

77-
**使用自定义 TCP 协议进行传输就会避免上面这个问题,极大地减轻了传输数据的开销。**这也就是为什么通常会采用自定义 TCP 协议的 RPC 来进行进行服务调用的真正原因。初次之外,成熟的 RPC 框架还提供好了“服务自动注册与发现”、"智能负载均衡"、“可视化的服务治理和运维”、“运行期流量调度”等等功能,这些也算是选择 RPC 进行服务注册和发现的一方面原因吧!
77+
**使用自定义 TCP 协议进行传输就会避免上面这个问题,极大地减轻了传输数据的开销。**
78+
这也就是为什么通常会采用自定义 TCP 协议的 RPC
79+
来进行进行服务调用的真正原因。除此之外,成熟的 RPC
80+
框架还提供好了“服务自动注册与发现”、"智能负载均衡"、“可视化的服务治理和运维”、“运行期流量调度”等等功能,这些也算是选择
81+
RPC 进行服务注册和发现的一方面原因吧!
7882

7983
**相关阅读:**
8084

8185
- http://www.ruanyifeng.com/blog/2016/08/http.html (HTTP 协议入门- 阮一峰)
8286

83-
###一个常见的错误观点
87+
### 一个常见的错误观点
8488

8589
很多文章中还会提到说 HTTP 协议相较于自定义 TCP 报文协议,增加的开销在于连接的建立与断开,但是这个观点已经被否认,下面截取自知乎中一个回答,原回答地址:https://www.zhihu.com/question/41609070/answer/191965937。
8690

8791
>首先要否认一点 HTTP 协议相较于自定义 TCP 报文协议,增加的开销在于连接的建立与断开。HTTP 协议是支持连接池复用的,也就是建立一定数量的连接不断开,并不会频繁的创建和销毁连接。二一要说的是 HTTP 也可以使用 Protobuf 这种二进制编码协议对内容进行编码,因此二者最大的区别还是在传输协议上。
8892
8993
### 题外话
9094

91-
初次之外,还需要注意的一点是 Spring Cloud Netflix 并没有使用 RPC 框架来进行不同服务之间的调用,而是使用 HTTP 协议进行调用的,速度虽然不比 RPC ,但是使用 HTTP 协议也会带来其他很多好处(这一点,可以自行查阅相关资料了解)。
95+
除此之外,还需要注意的一点是 Spring Cloud Netflix 并没有使用 RPC
96+
框架来进行不同服务之间的调用,而是使用 HTTP 协议进行调用的,速度虽然不比 RPC
97+
,但是使用 HTTP 协议也会带来其他很多好处(这一点,可以自行查阅相关资料了解)。
9298

9399

94100

0 commit comments

Comments
 (0)