天天看點

網關V.S反向代理(上)簡介發展趨勢雲原生時代下的可程式設計網關

簡介

  • 網關主要服務于微服務/API,偏向研發人員
  • 反向代理主要面向傳統靜态web應用,偏向運維
  • 而未來趨勢是DevOps+網關和反向代理再次融合

發展趨勢

WEB1.0/2.0時代,使用前置反向代理,由運維負責 nginx,進行反向代理和負載均衡、安全認證、限流緩存等功能。網站更新頻率較低,反向代理大多采用靜态配置方式。

網關V.S反向代理(上)簡介發展趨勢雲原生時代下的可程式設計網關

微服務時代,API 服務更新頻率高,傳統的 nginx 動态配置較差,且運維執行效率低,就需要使用動态配置的網關服務,便于研發自主配置。

雲原生時代提出更高要求,還需要支援灰階釋出。要求網關不僅可動态配置,還要能動态程式設計,是以出現網關和反向代理融合的趨勢,典型産品比如 envoy 和 Traefik。

雲原生時代下的可程式設計網關

在k8s中,和網關等價的概念叫Ingress,像kong/envoy/traefik這些可程式設計網關,都有支援對接Ingress。

所有不同的端,ios 安卓 h5 web,要不要分,還是要看業務和團隊規模,比如攜程内部就有超過十套以上面向不同端的網關,總網關叢集規模超過百台。對大體量多團隊的公司,網關如果分的不夠,不同團隊容易打架。微服務也是這個道理,服務分分多少多細,也主要看體量和團隊規模,小團隊不分也沒事。

安全認證要求,對于不同部門可能不一樣,比如支付部門要求更嚴格,是以可以獨立定制部署。

總之nginx偏運維,spring gateway對中國java程式員更友好。