File tree 1 file changed +9
-3
lines changed
docs/system-design/data-communication
1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -74,21 +74,27 @@ Server: Apache 0.84
74
74
</html>
75
75
```
76
76
77
- ** 使用自定义 TCP 协议进行传输就会避免上面这个问题,极大地减轻了传输数据的开销。** 这也就是为什么通常会采用自定义 TCP 协议的 RPC 来进行进行服务调用的真正原因。初次之外,成熟的 RPC 框架还提供好了“服务自动注册与发现”、"智能负载均衡"、“可视化的服务治理和运维”、“运行期流量调度”等等功能,这些也算是选择 RPC 进行服务注册和发现的一方面原因吧!
77
+ ** 使用自定义 TCP 协议进行传输就会避免上面这个问题,极大地减轻了传输数据的开销。**
78
+ 这也就是为什么通常会采用自定义 TCP 协议的 RPC
79
+ 来进行进行服务调用的真正原因。除此之外,成熟的 RPC
80
+ 框架还提供好了“服务自动注册与发现”、"智能负载均衡"、“可视化的服务治理和运维”、“运行期流量调度”等等功能,这些也算是选择
81
+ RPC 进行服务注册和发现的一方面原因吧!
78
82
79
83
** 相关阅读:**
80
84
81
85
- http://www.ruanyifeng.com/blog/2016/08/http.html (HTTP 协议入门- 阮一峰)
82
86
83
- ###一个常见的错误观点
87
+ ### 一个常见的错误观点
84
88
85
89
很多文章中还会提到说 HTTP 协议相较于自定义 TCP 报文协议,增加的开销在于连接的建立与断开,但是这个观点已经被否认,下面截取自知乎中一个回答,原回答地址:https://www.zhihu.com/question/41609070/answer/191965937。
86
90
87
91
> 首先要否认一点 HTTP 协议相较于自定义 TCP 报文协议,增加的开销在于连接的建立与断开。HTTP 协议是支持连接池复用的,也就是建立一定数量的连接不断开,并不会频繁的创建和销毁连接。二一要说的是 HTTP 也可以使用 Protobuf 这种二进制编码协议对内容进行编码,因此二者最大的区别还是在传输协议上。
88
92
89
93
### 题外话
90
94
91
- 初次之外,还需要注意的一点是 Spring Cloud Netflix 并没有使用 RPC 框架来进行不同服务之间的调用,而是使用 HTTP 协议进行调用的,速度虽然不比 RPC ,但是使用 HTTP 协议也会带来其他很多好处(这一点,可以自行查阅相关资料了解)。
95
+ 除此之外,还需要注意的一点是 Spring Cloud Netflix 并没有使用 RPC
96
+ 框架来进行不同服务之间的调用,而是使用 HTTP 协议进行调用的,速度虽然不比 RPC
97
+ ,但是使用 HTTP 协议也会带来其他很多好处(这一点,可以自行查阅相关资料了解)。
92
98
93
99
94
100
You can’t perform that action at this time.
0 commit comments