对比下面这两种架构设计的区别。
下面这种使用网关服务器的架构设计的优点在哪呢?
借用知乎王明雨知友的一个比喻:
把服务器想象成饭店,没有网关服务器的情况,就如同每一个厨师服务一桌顾客,从点菜开始到炒菜到上菜到收银,有n个厨师就只能服务n桌顾客。有了网关服务器的话,网关服务器就成了强大的服务员,把招呼,点菜、上菜和收银的活都做了,厨师只需要专心炒菜就行。这样饭店的效率就大大提高了。
这样可以把要承载高并发,高性能任务的网络服务独立出来专门做好,做强(对于http协议的场景,可以直接用nginx做网关服务器)。这样各个应用只需把重点放在对业务逻辑的处理即可。从技术架构和项目协作上都做到了解耦。增强了系统的健壮性,一个应用出现故障并不会对其他应用产生影响。后期运维也好做灰度更迭。
有应用集群的情况下,可以通过网关服务器做负载均衡,把请求分发在负载低的服务器上。
再引用一个游戏公司对网关服务器的评价:
服务器架构
采用带网关的服务器架构,将客户端与游戏服务器隔离,相比传统的客户端-服务端直连的架构有如下优势:
(1ÿ