API网关

另一篇: https://www.yuque.com/allblue-byynd/sfegqs/bio3c7

绕过网关

API网关功能很强大,但有些功能需要绕过网关,如大文件上传,如果也是网关代理,文件就会经过多次网络传输,造成不必要的网络负担,在高并发的时候还可能导致网络阻塞,甚至系统瘫痪。

Nginx配置直连

/api/pgk/ 路径是API网关的路径

  1. 先对api网关路径进行重写
  2. 将重写后的路径代理到 upstream 模块
  3. upstream 模块可以将服务器进行分组,接收并分配 proxy_pass 转发过来的请求,将请求按照最少连接的算法策略转发给各个服务器,这也使得nginx跨越单机的限制,完成网络数据的接收、处理和转发。

    1. http {
    2. upstream fileUpload {
    3. server 10.10.10.10:8600;
    4. least_conn;
    5. }
    6. server {
    7. rewrite /api/pgk/upload /upload;
    8. listen 8000;
    9. server_name localhost;
    10. location = /upload {
    11. proxy_set_header Host $host:8080;
    12. proxy_set_header X-Real-IP $remote_addr;
    13. proxy_pass http://fileUpload;
    14. expires -1;
    15. }
    16. location / {
    17. root /home/share/html;
    18. index index.html;
    19. }
    20. }
    21. }