# 《高性能Polaris网关》需求设计-第01节:为何要学习高性能Polaris网关
作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
文章汇总:https://binghe.gitcode.host/md/all/all.html (opens new window)
源码获取地址:https://t.zsxq.com/0dhvFs5oR (opens new window)
课程视频:https://t.zsxq.com/Hrnec (opens new window)
沉淀,成长,突破,帮助他人,成就自我。
- 本章难度:★☆☆☆☆
- 本章重点:重点介绍下高性能网关的背景知识,包括:什么是API网关,大厂为何都要研发自己的API网关,技术人为何要学习高性能API网关,以及如何才能更好的学习API网关几个方面。
- 课程视频:https://t.zsxq.com/Hrnec (opens new window)
大家好,我是冰河~~
当业务发展到一定程度时,会对系统进行分布式或微服务的改造,如果不对改造后的系统进行精心的设计,就会导致对外暴露大量的API,难以统一管理和维护,一种简单的方式就是引入API网关来对这些日益剧增的API进行统一管理和维护。
# 一、前言
随着互联网的发展,互联网企业的业务也在飞速发展,进而促使系统的架构也在不断的变化。总体来说,系统的架构大致经历了:单体应用架构—垂直应用架构—分布式架构—SOA架构—微服务架构的演变。当然,很多互联网企业的系统架构已经向Service Mesh(服务化网格)演变。
随着微服务化的不断普及,线上应用越来越多,并且各个应用都需要对外暴露自身的API接口,这就会导致对外暴露大量的API接口,难以统一管理和维护,并且客户端需要明确知晓各个微服务的具体访问地址,这无疑又增加了客户端开发的复杂度。此时,如果设计和研发一套高性能的API网关服务,由API网关服务统一作为后端微服务的流量入口,客户端只需要访问API网关,不需要关心后端微服务的具体访问地址,只需要将请求发送给API网关,由API网关统一转发即可。
# 二、什么是API网关
API网关是一种用于管理、控制和保护API(应用程序编程接口)的中间层服务。它位于客户端和后端服务之间,充当了一个统一的入口点,处理所有进出系统的请求,总体来说,API网关提供了如下功能。
可以看到,API网关总体上会支持如下功能。
(1)路由和转发
接收来自客户端的请求,并根据预定义的路由规则将请求转发到相应的后端服务或微服务。这种路由功能可以基于请求的路径、方法、头部信息等进行配置。
(2)协议转换
将来自客户端的请求从一种协议转换为另一种协议,例如将HTTP请求转换为HTTPS请求,或者将REST请求转换为SOAP请求,将HTTP请求转换成RPC或者WebSocket请求等。
(3)请求和响应转换
对请求和响应的内容进行转换,例如修改请求和响应的头部信息、参数重命名、请求体的转换、响应体的格式化等。
(4)安全认证和授权
# 查看完整文章
加入冰河技术 (opens new window)知识星球,解锁完整技术文章、小册、视频与完整代码