范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

开源API网关APISIX安装和初步验证

  对于API网关,在我头条前面的文章已经介绍过Kong网关和Goku网关,今天谈在国人开源的APISIX网关,这个网关实际和Kong网关都是基于OpenResty+Lua脚本语言实现,同样是基于插件化的API接口服务管控方式。APISIX网关简介
  APISIX 是一个云原生、高性能、可扩展的微服务 API 网关。它是基于 Nginx 和 etcd 来实现,和传统 API 网关相比,APISIX 具备动态路由和插件热加载功能,特别适合微服务体系下的 API 管理和服务治理管控。
  整体架构动态负载均衡:支持 round-robin 轮询和一致性哈希算法。身份验证:支持 key-auth、JWT、basic-auth、wolf-rbac 等多种认证方式。限流限速:可以基于速率、请求数、并发等维度限制。
  并且 APISIX 还支持 A/B 测试、金丝雀发布(灰度发布)、蓝绿部署、监控报警、服务可观测性、服务治理等等高级功能,这在作为微服务 API 网络是非常重要的特性。
  APISIX提供丰富的插件功能,具体插件可以热加载并动态扩展,当前从配置文件看APISIX已经提供的插件列表如下:plugins:                          # plugin list   - example-plugin   - limit-req   - limit-count   - limit-conn   - key-auth   - basic-auth   - prometheus   - node-status   - jwt-auth   - zipkin   - ip-restriction   - grpc-transcode   - serverless-pre-function   - serverless-post-function   - openid-connect   - proxy-rewrite   - redirect   - response-rewrite   - fault-injection   - udp-logger   - wolf-rbac   - proxy-cache   - tcp-logger   - proxy-mirror   - kafka-logger   - cors   - syslog   - batch-requests
  可以看到对于限流熔断,认证,安全,grpc,日志,状态监控等均提供了完整的插件支持能力。支持和zipkin服务链监控的集成,支持和prometheus的集成。
  基于Etcd实现集群高可用和分布式配置
  在前面已经谈到了APISIX的高可用是通过Etcd来实现集群的心跳监控,关键元数据配置信息的存储和分发等。而对于Kong网关则是采用的Postgres数据库来进行。
  在集群部署的时候任何一个节点都需要包含 adminAPI 或 APISIX 内核,使用时可以只启用其中一部分或都启用。admin API 主要用于接收管理员的提交信息,通过 json schema 完成参数的校验,防止非法参数落到存储的配置中心。APISIX 内部部分处理外部请求,根据请求特征,匹配到具体路由规则,执行插件,然后把流量转发到指定上游服务。APISIX网关和Kong网关对比和性能测试
  对于两个网关由于采用相似的架构可以看到基本的API网关核心功能本身都具备。对于网关作者也发布过要给两者功能对比表如下:
  作者也给出了一个两者性能测试对比:
  通过性能测试可以看到,在不开启插件的情况下,Apache APISIX 的性能(QPS 和延迟)是 Kong 的2倍,但开启了两个常用插件后,性能就是 Kong 的十倍了。
  大家可能最大的疑问还是架构差不多的情况下为何在开启插件情况下存在如此大的性能差异。由于对比测试的Kong版本是1.4的而不是2.0以上版本,实际可以再进行一次和Kong新版本的对比性能测试。当然作者给出过一个回复可以参考。
  Kong 的路由实现是遍历算法的,Apache APISIX 的路由是基数树,相差几个数量级;kong 的存储是 postgres,需要节点去轮询,Apache APISIX 是 etcd 的 watch;kong 的 schema 校验是自己定义的标准,Apache APISIX 是 json schema,性能是它的几百倍。其他细节实现就更多了。
  详细的对比和性能测试可以参考:
  https://zhuanlan.zhihu.com/p/103236688APISIX网关的安装
  当前Github上最新的2.1版本安装有些问题没有成功。因此这里安装1.3版本进行安装和功能验证。对于整个安装基于Centos7虚拟机基础镜像进行,并安装验证通过。①提前解决依赖问题 # 安装epel源, luarocks 需要使用到. wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm # 添加OpenResty 的镜像源 yum install yum-utils yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo # 安装 OpenResty, etcd 和一些依赖工具 yum install -y etcd openresty curl git gcc luarocks lua-devel # 启动 etcd 服务端 systemctl start etcd # 防火墙关闭 systemctl stop firewalld.service systemctl disable firewalld.service  ②安装apisix--注意安装1.3版本 yum install -y https://github.com/apache/incubator-apisix/releases/download/1.3/apisix-1.3-0.el7.noarch.rpm  ③启动apisix apisix start  ④查看服务是否启动, 查看进程或者监听端口9080 ps aux|grep apisix netstat -lntp|grep 9080
  安装完成后目录和服务状态如下:
  注意1.3版本已经自带Dashboard,不用再单独安装Dashboard
  http://ip:9080/apisix/dashboard/
  当访问上面的地址的时候,会出现403 Forbidden的错误,也就是当前主机IP没有允许访问安装在虚拟机里面的管控台。
  这个时候就需要对 /usr/local/apisix/conf/config.yaml 文件进行修改,具体修改内容是放开allow_admin的ip控制。具体修改如下图:
  修改完成后管控台可以正常访问和进入。默认账号admin/123456
  功能简单验证
  下面我们对APISIX提供的功能做简单验证。在验证场景前先看下APISIX里面提到的关键实体对象和关系。
  Upstream:即后端业务服务,在APISIX实现里面不是简单的后端业务服务,而是一个后端业务服务入口的抽象,因此如果接入多个后端业务负载均衡,那么负载均衡在这里配置。
  Service:这里的服务可以理解为经过APISIX封装一层后的服务抽象,在这里可以进行插件配置和定制,同时在前端Routes里面可以统一引用。
  Routes:即通常说的暴露出去的代理服务,这里用了路由的概念,即核心的路由代理转发在这里实现。同时代理服务既可以直接对接Upstream,也可以直接对接Service。如果直接对接的是Upstream,那么相关的插件可以在这里进行配置。
  Cusotmer: 对消费方的要给抽象,在配置消费方的时候同样可以单独配置插件信息。一方面在进行服务管控的时候既可以控制到单个服务,也可以控制到单个消费方。
  整个服务请求访问过程如下图:
  1 反向代理测试
  确认本机的Openresty当前可以正常访问。
  创建Upstream
  创建Routes配置具体的URI,并绑定到Upsream
  完成可以测试http://ip:9080/index.html,已经可以正常代理。
  2 单纯的服务代理接入
  可以找一个公网可以免费访问的API接口进行接口服务注册和接入,具体地址为:
  https://www.binstd.com/api/area.html
  即查询行政区域信息接口服务。在使用接口前需要先注册一个免费账号并获取appkey值,然后即可以免费访问服务。比如获取行政区域接口服务如下:
  https://api.binstd.com/area/province?appkey=******
  通过该接口即可返回我国的行政区域信息。通过网站提供的调式页面进行接口测试,可以正常返回具体的数据,当然直接通过浏览器访问上面地址也可以正常返回结果。
  在这里创建Upstream,然后创建Routes,注意路由规则填写。
  完成后即可以对封装后的地址进行访问。
  对于路由规则,实际存在两种匹配方式。
  一种是完全匹配,比如/blog/foo,则访问请求按该路径完全匹配。
  还有一种是通配符匹配,比如/blog/foo*, 在这种场景下/blog/foo/a , /blog/foo/b , /blog/foo/a/b等均可以进行正常路由。
  当我网上有一个详细的1.5版本的架构设计,开发和接入指南文档,可以参考。
  https://iquanku.com/read/apache-apisix-1.4-zh/README.md
  具体的一些问题
  整个使用下来感觉和Kong网关还是有些差异,特别是对于Upsteam的定义,只能够是定义到具体德额后端Server和端口,而无法定义具体的路径。
  也就是说当前的整体方式上对于要按Rest API接口服务,一个个的独立接入和封装的话并不是支持的特别好,这种网关更类似于微服务网关,更多是对整个微服务模块进行管理,而不是到详细的API的粒度。
  当然也可能是一些设置还没有完全理解清楚导致。
  先不说性能,就从当前本身的服务接入方式,操作和易用性方面来说,Kong网关更加符合实际的API接口注册和接入的习惯。

被传整容过度卷入小三风波遭渣男爆亲密照,40岁王心凌太勇敢大家好,我是拳姐,一个职业吃瓜的深度影迷。今天,让我们感谢乘风破浪,为拯救无聊的互联网做出了巨大贡献。当节目组把前两季的大姐大攒到一块儿,这个画风就是预测之中的,嗯,火花四溅。Ma良辰好景知几何导演窦骁很像萧北辰,霸气又温柔由窦骁陈都灵主演的年代情感剧良辰好景知几何正在热播。该剧改编自灵希原著小说倾城之恋,讲述了民国时期桀骜不驯的将门之子萧北辰,和落魄千金林杭景历经几重误会波折,在烽火年代相爱相知相守女网红雪梨成被执行人,90万股权被冻结,网友也就少买几个包经常关注娱乐圈网红圈的人肯定发现了一个事情,那就是明星网红的界限已经不那么明显了,只要有热度和流量的人,都可以演戏,甚至也可以开直播卖货,雪梨就是很好的例子。靠着王思聪女友身份成功看春日迟迟再出发大结局没有复婚的郭柯宇,很好,很美01hr春日迟迟再出发大结局,我等这一期等很久了,就是为了看郭柯宇。一袭白裙,郭柯宇披散着头发,好美。所有的嘉宾看到郭柯宇的时候都惊呆了,她怎么可以这么美,舞台上的她真的好迷人。郭大衣哥听到准儿媳陈萌提的三个要求,不但不生气,还笑得合不拢嘴自从大衣哥儿子朱小伟和邻村小学老师陈萌订婚之后,大衣哥两口子脸上就一扫往日的阴云,眉开眼笑停不住。这边订婚刚结束,那边就指派人开始紧锣密鼓地给儿子准备结婚的事。想抱孙子的心那个急啊豆瓣1天内处理1979条李易峰作品1星评分,此前多部影视剧遭恶意刷差评5月24日,豆瓣电影发布公告,称李易峰17部作品被恶意刷一星。根据公告内容,5月23日16点,豆瓣电影评分后台收到部分条目评分异常预警,经过排查,确认从上午11点开始,有17部电视来之不易林大竣父亲林永健痛失两子,后资助农村女孩学费?1这是爸哪开播以来,第一个因儿子偷东西而罢录的父亲不过比起愤怒,这位父亲此刻更多的是害臊。当天林永健父子住的房子摆了几瓶赞助的饮料。谁知林永健前脚迈出门,他儿子林大竣后脚就瞄中了桌王思聪为什么连一个小小的网红孙一宁都搞不定?背后的原因是什么为什么王耔没有管理一个网络名人孙艺宁?背后的原因是什么?众所周知,王思聪的前女友们都是网络名人。这个月是网络名人,下个月是网络名人。所以他的恋爱周期很短,他的窗口期很短。然而,当人520发文自称单身狗,结婚3年多聚少离多,张馨予何捷疑婚姻亮红灯520这个所有人都沉浸在秀恩爱的日子里,张馨予的一条动态引发了粉丝们的热议。她自称单身汪,一身浴袍给大家送上了祝福。难道她和何捷两个人的婚姻,出现了什么问题?从视频中的动态来看,张肖申克的救赎希望是一个人的救赎之道重获自由万物之中,希望至美。至美之物,永不凋零。这是我看这部影片最大的感悟。一场看似无懈可击的谋杀审判,一段跨越二十年的高墙抗争,一曲动人心魄的越狱传奇蒙冤入狱的银行家安迪杜弗雷在汪小菲张颖颖疑似一同出游!俩人晒同款野餐照,逐渐看不明白了引读汪小菲张颖颖疑似一同出游!俩人晒同款野餐照,逐渐看不明白了相信大家对于汪小菲的事情都已经非常的了解了,前一段时间的时候,大S和具俊晔的事情闹得沸沸扬扬,每天都在更新着不同的剧情
被传整容过度卷入小三风波遭渣男爆亲密照,40岁王心凌太勇敢大家好,我是拳姐,一个职业吃瓜的深度影迷。今天,让我们感谢乘风破浪,为拯救无聊的互联网做出了巨大贡献。当节目组把前两季的大姐大攒到一块儿,这个画风就是预测之中的,嗯,火花四溅。Ma良辰好景知几何导演窦骁很像萧北辰,霸气又温柔由窦骁陈都灵主演的年代情感剧良辰好景知几何正在热播。该剧改编自灵希原著小说倾城之恋,讲述了民国时期桀骜不驯的将门之子萧北辰,和落魄千金林杭景历经几重误会波折,在烽火年代相爱相知相守女网红雪梨成被执行人,90万股权被冻结,网友也就少买几个包经常关注娱乐圈网红圈的人肯定发现了一个事情,那就是明星网红的界限已经不那么明显了,只要有热度和流量的人,都可以演戏,甚至也可以开直播卖货,雪梨就是很好的例子。靠着王思聪女友身份成功看春日迟迟再出发大结局没有复婚的郭柯宇,很好,很美01hr春日迟迟再出发大结局,我等这一期等很久了,就是为了看郭柯宇。一袭白裙,郭柯宇披散着头发,好美。所有的嘉宾看到郭柯宇的时候都惊呆了,她怎么可以这么美,舞台上的她真的好迷人。郭大衣哥听到准儿媳陈萌提的三个要求,不但不生气,还笑得合不拢嘴自从大衣哥儿子朱小伟和邻村小学老师陈萌订婚之后,大衣哥两口子脸上就一扫往日的阴云,眉开眼笑停不住。这边订婚刚结束,那边就指派人开始紧锣密鼓地给儿子准备结婚的事。想抱孙子的心那个急啊豆瓣1天内处理1979条李易峰作品1星评分,此前多部影视剧遭恶意刷差评5月24日,豆瓣电影发布公告,称李易峰17部作品被恶意刷一星。根据公告内容,5月23日16点,豆瓣电影评分后台收到部分条目评分异常预警,经过排查,确认从上午11点开始,有17部电视来之不易林大竣父亲林永健痛失两子,后资助农村女孩学费?1这是爸哪开播以来,第一个因儿子偷东西而罢录的父亲不过比起愤怒,这位父亲此刻更多的是害臊。当天林永健父子住的房子摆了几瓶赞助的饮料。谁知林永健前脚迈出门,他儿子林大竣后脚就瞄中了桌王思聪为什么连一个小小的网红孙一宁都搞不定?背后的原因是什么为什么王耔没有管理一个网络名人孙艺宁?背后的原因是什么?众所周知,王思聪的前女友们都是网络名人。这个月是网络名人,下个月是网络名人。所以他的恋爱周期很短,他的窗口期很短。然而,当人520发文自称单身狗,结婚3年多聚少离多,张馨予何捷疑婚姻亮红灯520这个所有人都沉浸在秀恩爱的日子里,张馨予的一条动态引发了粉丝们的热议。她自称单身汪,一身浴袍给大家送上了祝福。难道她和何捷两个人的婚姻,出现了什么问题?从视频中的动态来看,张肖申克的救赎希望是一个人的救赎之道重获自由万物之中,希望至美。至美之物,永不凋零。这是我看这部影片最大的感悟。一场看似无懈可击的谋杀审判,一段跨越二十年的高墙抗争,一曲动人心魄的越狱传奇蒙冤入狱的银行家安迪杜弗雷在汪小菲张颖颖疑似一同出游!俩人晒同款野餐照,逐渐看不明白了引读汪小菲张颖颖疑似一同出游!俩人晒同款野餐照,逐渐看不明白了相信大家对于汪小菲的事情都已经非常的了解了,前一段时间的时候,大S和具俊晔的事情闹得沸沸扬扬,每天都在更新着不同的剧情