加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 (https://www.pinziwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

部署Nginx Plus作为API网关:Nginx

发布时间:2019-09-04 21:06:36 所属栏目:教程 来源:首席架构师
导读:了解着名的Nginx服务器(微服务必不可少的东西)如何用作API网关。 现代应用程序体系结构的核心是HTTP API。 HTTP使应用程序能够快速构建并轻松维护。无论应用程序的规模如何,HTTP API都提供了一个通用接口,从单用途微服务到无所不包的整体。通过使用HTTP

随着API的发展,有时会发生需要更新客户端的重大更改。一个这样的示例是重命名或移动API资源。与Web浏览器不同,API网关无法向其客户端发送命名新位置的重定向(代码301)。幸运的是,当修改API客户端不切实际时,我们可以动态地重写客户端请求。

在下面的示例中,我们可以在第3行看到定价服务以前是作为库存服务的一部分实现的:rewrite指令将对旧定价资源的请求转换为新的定价服务。

  1. # Rewrite rules 
  2. # 
  3. rewrite ^/api/warehouse/inventory/item/price/(.*) /api/warehouse/pricing/$1; 
  4.   
  5. # API definition 
  6. # 
  7. location /api/warehouse/inventory { 
  8.  set $upstream inventory_service; 
  9.  rewrite ^(.*)$ /_warehouse$1 last; 
  10. } 
  11.   
  12. location /api/warehouse/pricing { 
  13.  set $upstream pricing_service; 
  14.  rewrite ^(.*) /_warehouse$1 last; 
  15. } 
  16.   
  17. # Policy section 
  18. # 
  19. location /_warehouse { 
  20.  internal; 
  21.  set $api_name "Warehouse"; 
  22.   
  23.  # Policy configuration here (authentication, rate limiting, logging, more...) 
  24.   
  25.  rewrite ^/_warehouse/(.*)$ /$1 break; # Remove /_warehouse prefix 
  26.  proxy_pass http://$upstream; # Proxy the rewritten URI 
  27. } 

动态重写URI意味着当我们最终在第26行代理请求时,我们不能再使用$ request_uri变量(正如我们在warehouse_api_simple.conf的第21行所做的那样)。这意味着我们需要在API定义部分的第9行和第14行使用稍微不同的重写指令,以便在处理切换到策略部分时保留URI。

「微服务架构」部署NGINX Plus作为API网关,第1部分 - NGINX

回应错误

(编辑:拼字网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读