技术架构-网关选择

阅读前请先参考上一篇文章 技术架构图

网关的选择比较简单,可选择的比较少,当前主流的只有F5、HaProxy、Nginx、OpenResty

F5:
 F5负载均衡器是应用交付网络的全球领导者F5 Networks公司提供的一个负载均衡器专用设备,F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速缓存、Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYN Flood保护、防火墙—包过滤、包消毒等功能。

HaProxy:
 HAProxy 是一个提供高可用、负载均衡和基于 HTTP/TCP 应用代理的解决方案。

Nginx:
 同 HAProxy, 是一个提供高可用、负载均衡和基于 HTTP/TCP 应用代理的解决方案。

OpenResty:
 OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

正常的架构应该是最前端两台F5,F5后面部署多个Nginx、HaProxy、OpenResty。如果没有经济实力可以省去F5,请求直接打到Nginx、HaProxy、OpenResty。

OpenResty主要用来做请求验证、权限拦截、或者直接基于lua做一些高性能的服务,它的功能和Nginx、Haproxy不冲突,补充这两者在权限、直接提供高性能服务方面的短板

Nginx和HaProxy的功能几乎一样,普通场景中,选哪个都行。个人观点是接口服务选择HaProxy,web服务选择Nginx,配置简单方便管理。但是在实际应用中,公司的运维能力、已有架构等一些现存的条件下,一般是没有选择的余地的

JouyPub wechat
欢迎订阅「K叔区块链」 - 专注于区块链技术学习