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

部署Nginx Plus作为API网关:Nginx

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

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

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

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

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

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

回应错误

(编辑:云计算网_韶关站长网)

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

热点阅读