📚 残梦三生

记录技术成长,分享学习心得

← 返回首页

流量,既分南北也分东西

分类:分布式系统 | 日期:2024-04-01

1 简介

在画单体应用架构图的时候,我们通常都是从上往下画的,基本不会有人是左右画的(并不绝对)。而对于分布式架构,又很少见到纯粹的是从上往下的,常常还伴随着左右。这并不是巧合,而是因为这些架构图的绘制都和流量有关。

2 流量

南北流量和东西流量是数据中心环境中的网络流量模式。

我们以最简单的单体应用为例,拥有服务器、客户端和数据库三个部分组成。当客户端需要访问数据时,服务器就是查询数据库然后返回结果,这么一次流量就被成为南北流量。

当随着应用的升级,以及用户的增加。服务器和数据库承担不了大规模的请求,就得采用分布式和负载均衡等方式来分担压力。分布式这种不同服务器之间的流量就被称为东西流量。

3 传输方式

南北、东西流量的区别主要是在流向和流量上的。

南北流量通常是从外部网络流向内部网络的数据流量。例如常见的CURD业务系统、web浏览器请求、文件传输等。这一类业务中,网络传输频率较低,传输的内容相对较大,所以通常采用JSON的方式传输。

东西流量则是内部网络中的数据流量。例如数据库之间信息同步等。这类流量传输频率较高,而且传输的数据体量较小,此时就不可以使用json的方式,因为json本身需要占据一定的容量。我们可以使用RPC技术来传输。

对比http,RPC支持长链接,每次通信不需要3次握手,避免不必要的网络开销;可以灵活定制协议字段,减少网络传输字节数,但是RPC的实现较为复杂,需要自己定义接口,而且没有统一的配置。方便的话,可以使用Google开源的gRPC工具。

4 总结

在了解了东西、南北流量的特点之后。我们可以在以后的网络架构和容量规划中,需要针对不同的场景区分好流量的种类,对南北流量和东西流量进行分析和优化,确保性能和安全的优化。