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

开源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接口注册和接入的习惯。

民间故事陆判投胎西蜀时期,有个叫做魏应智的知府,他已经四十岁了,却还是在知府的位置上,魏应智总想做出一番政绩再往上升一升,可是每次升官的名单中总是没有他的名字。魏应智为此十分苦恼,便和妻儿一起去了明星与其婆婆们黄圣依婆婆参加综艺获得好评,高情商又和蔼,好相处。黄圣依黄晓明妈妈看起来很朴实老实哦。杨颖小S婆婆小S张铎的妈妈有点占有欲,老感觉她儿子被儿媳抢走了。陈松伶董子健的妈妈是王牌经纪人民间故事离奇案件古时候,池州府发生了一起离奇案件,一名无赖将一貌美女子拖到僻静处欲行不轨,恰逢府城两名差役经过,失手打死了无赖,救了女子。谁知令差役惊讶的是,这名险遭欺凌的女子竟是个妖人。差役将其曹操的七个女儿竟嫁给同一个人曹操这个名字,相信很多人都知道,东汉末年他可以说才是真正的皇帝,在位的不过是个傀儡,挟天子以令诸侯的戏码就是出自曹操之手。拥有绝对的掌控权,曹操开始去做自己想做的事情,期间刘备以汉民间故事白蛇复活计一天晚上,李大爷站在房间里担心桌上的蛇蛋。因为他的妻子过早去世,他努力工作以独自抚养儿子。幸运的是,儿子很孝顺。一天早晨,李大爷起床后,他看到桌上有十几个鸡蛋。他的儿子说,他是在野武则天有间密室,死后才揭开从秦始皇到溥仪,中国历史上一共出现了将近五百位皇帝,可是有一位皇帝是非常的特殊,她就是武则天,因为她是中国历史上第一位正统女皇帝。武则天为什么说她是正统呢?因为她得到了历史学家的认三国时期,英年早逝的4位顶级人才,一位还出现在教科书里什么叫英年早逝?有人说法正英年早逝,但是法正可是活了45岁,算不错的了这里要说的主要是指40岁以下的天纵奇才,最小的仅13岁这4人中,至少有3位是能改变历史走向的。曹冲1曹冲是曹操郭沫若的情史郭沫若一生经历了三场婚姻。第一任妻子是张琼华。过去,婚姻依靠父母的命令和媒人的话。1912年,年仅20岁的郭沫若在父母的命令下与大两岁的张琼华结婚。婚礼当天,新郎和新娘在喝了一杯酒5位死于非命的明星第1位活活痛死,而他被一枪毙命至今是疑案在很多人看来,明星这个行业都是很光鲜亮丽的,尤其是现在的流量明星,出场费动辄百万千万,似乎人人都是富豪,颜值高又有财富,是大家羡慕的对象,然而明星也是人,也会经历各种意外,今天要说包装丑但好吃的东西1福鼎肉片简单而平庸的塑料盒子以及不知名的黏糊糊的固态物质,看起来就觉得不像什么好东西比各种速食火锅和面条都好吃的宿舍也能做的快手美食,福建宁德的福鼎肉片,肉感滑嫩弹牙,自然色泽的盘点十部收视率低的电视剧1孤芳不自赏看过小说,觉得还不错,拍成电视剧有些挺尴尬的。抠图被嘲出圈,大宝贝一如既往瞪眼睛,这剧的滤镜太吓人啦,演员的脸都模糊了。感觉钟汉良不是很适合古装,杨颖很美,但是演技问题
过早让孩子参与专业运动,有什么坏处?为孩子运动安排要注意啥?随着社会的发展,现在的孩子从刚出生开始,就要和同龄人和社会开始竞争了,一些父母处于望子成龙等观念的影响,在孩子年纪很小的时候,就将他们送到一些体育机构或者艺术机构去学习舞蹈,专项运蜂蜜水减肥法,轻松瘦成一道闪电蜂蜜水减肥法一种流行的减肥方法。蜂蜜水减肥法是指一日三餐均以蜂蜜水或以蜂蜜茶代替,从而起到减重滋养皮肤的效果。减肥原理蜂蜜蕴含的脂肪酸能促进肠道的蠕动,而其丰富的维他命和矿物质则具无深蹲,不健身!来自灵魂深处的呐喊去!深!蹲深蹲粗腿的言论,在健身边缘人士人群中传播得异常汹涌,想提臀还想瘦腿,怕伤膝盖又怕粗腿,蹲?还是不蹲?别在那里暗自思忖,今天,我来告诉你,你走进了哪些思维误区。一深蹲好处有多少?外面一组虐腹训练动作,每次10分钟,练出性感马甲线以前的女生追求小蛮腰,现在的女生追求的是马甲线身材。好看的马甲线,是自律的表现,体脂率超过24的女孩,是无法练出马甲线身材的。因为过多的脂肪会覆盖着腹肌线条,无法让肌肉线条凸显出来一胖毁所有,教你如何减肥不反弹,还不收藏连自己的体重都控制不住,还怎么控制人生!然而,有些人多次下定决心减肥,却怎么也不瘦甚至还胖了,有些人虽然瘦了但又反弹了。你曾经试过哪种减肥方法?多选拒绝一切美食诱惑,节食!加入健身晚餐尽量少吃这5种食物,不妨一看拥有一个健康的身体是非常重要的,无论我们心情如何,工作如何,身体健康才是首要的,不是吗?在养生的过程中,有些东西是不可以吃的,而且有些东西是坚决不可以在睡前吃的,那么这些东西究竟有每天坚持跑步健身60分钟的人身体会有什么变化?随着全民健身的趋势越来越明显,健身人群就不断增长。然而很大一部分人对健身的理解过于单一,认为健身就是增长肌肉,其实健身所包含的种类非常广泛,远不止力量训练这一种。只要是有规律,且长中年以后开始力量训练,延缓衰老速度还有效吗?要如何做?能够坚持运动的朋友,除了有着相对健康的身体以外,他们的身材也会比不运动的朋友要好,在他们看来保持身材并不是难事,因为他们已经将良好的习惯融入了生活,并且,当他们到了中年以后,他们给买酸奶不会看这几个字,别人喝酸奶减肥,你变胖酸奶减肥法是很多女生都非常喜欢的一款减肥方法,简单有效,而且还不伤身体。特别是将酸奶以及特色水果搭配在一起的减肥方法,好看好吃还减肥,简直不要太完美!但是,为啥我美好的酸奶减肥方法瘦腿很难吗?5个动作轻松帮你解锁,让大象腿消失不见一了解腿部属于哪种类型我们当腿部放松的时候,用手去捏腿部肌肉,检查一下它是松软的还是非常结实的,如果是松软型的,那就是我们腿部的脂肪超标造成的,这种情况就需要朋友们加强锻炼,消耗大这个馒头太香了,不用面粉,无技巧无难度,无糖无油,减脂必备我们生活节奏不停的加快,人们的饮食不规律,影响消化系统,需要增加粗粮来调节机体,达到排毒养颜作用,今天给大家推荐全麦面食做法,营养高而且好操作,花2分钟时间看完保证蒸的馒头好吃还养