携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
API网关
API网关是一个将业务系统内部的多个微服务进行封装,对外提供唯一访问入口
,实现系统内高内聚,系统间松耦合的服务器。还可以实现动态路由、压力测试、负载均衡、流量控制、审查与监控等功能,是现在常用的微服务架构解决方案
微服务
不能没有网关,就如同 Java 程序员不能没有IDEA、Eclipse。为什么呢?感兴趣了下篇介绍😊
为什么要绕过网关
API网关功能很强大,但有些功能需要绕过网关,如大文件上传,如果也是网关代理,文件就会经过多次网络传输,造成不必要的网络负担
,在高并发的时候还可能导致网络阻塞,甚至系统瘫痪。
这么一看,恐怖如斯,下面让我们看一下怎么配置文件上传接口绕过网关👇
方式:Nginx配置直连
目前的前端项目大都采用nginx部署,下面展示nginx怎么配置绕过网关👇
/api/pgk/
路径是API网关的路径
-
先对api网关路径进行
重写
-
将重写后的路径代理到 upstream 模块(nginx软负载均衡)
-
upstream 模块可以将服务器进行分组,接收并分配 proxy_pass 转发过来的请求,将请求按照最少连接的算法策略转发给各个服务器,这也使得nginx跨越单机的限制,完成网络数据的接收、处理和转发。
下面看一下具体的配置示例:
http {
upstream fileUpload {
server 10.10.10.10:18600;
least_conn;
}
server {
# 文件上传接口路径
rewrite /api/pgk/upload /upload;
listen 8000;
server_name localhost;
location = /upload {
proxy_set_header Host $host:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://fileUpload;
expires -1;
}
location / {
root /home/share/html;
index index.html;
}
}
}
🎈🎈🎈
🌹 关注我,你会发现一个踏实努力的宝藏前端😊,让我们一起学习,共同成长吧。
🎉 喜欢的小伙伴记得点赞关注收藏哟,回看不迷路 😉
✨ 欢迎大家转发、评论交流
🎊 蟹蟹😊