开发者社区> 超努力的写代码> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Apache APISIX 助力有赞云原生 PaaS 平台,实现全面微服务治理(2)

简介: Apache APISIX 助力有赞云原生 PaaS 平台,实现全面微服务治理(2)
+关注继续查看

为什么选择了 Apache APISIX



image.png


考虑到产品成熟度和可拓展性,最终我们在 Kong 和 Apache APISIX 中进行对比选择。



image.png


从上图对比中可以发现,两者在很多方面基本不相上下,所以存储端成为我们重点考虑的一点。因为 etcd 在我们公司内部的运维体系上已经比较成熟,所以 Apache APISIX 相较 Kong 则略胜一筹。

同时考虑到在开源项目层面,Apache APISIX 的国内交流与跟进处理速度上都非常优秀,项目的插件体系比较丰富全面,对各个阶段的使用类型都比较契合。

所以在 2020 年调研之后,最终选择了 Apache APISIX 作为有赞即将推出云原生 PaaS 平台的流量网关。


使用 Apache APISIX 后的产品新貌


当我们开始接入 Apache APISIX 后,前文提到的两方面问题逐一得到了解决。


效果一:优化了架构性能


Apache APISIX 作为入口网关部署在内部服务区域边缘,前端的所有请求都会经过它。同时我们通过 Apache APISIX 的插件功能实现了与公司内部 CAS 单点登录系统的对接,之前负责流量转发的账号变为纯业务系统。同时在前端我们提供了一个负责鉴权的 SDK 与 Apache APISIX 鉴权接口进行对接,达成一套完整又自动化的流程体系。


image.png


于是问题得到了解决:

  1. 每次增加新的后端服务,只需调用 Apache APISIX 接口,将新的服务配置写入
  2. 流量转发通过 Apache APISIX 完成,在网关该做的事情上,它完成得十分优秀
  3. 网关不再是架构中的性能瓶颈
  4. 对不同的业务需求,可以统一使用同一个网关来实现;业务细节有差异,可以通过插件实现


 效果二:内部服务接入标准化


接入 Apache APISIX 后,公司新的内部服务接入时将自带鉴权功能,接入成本极低,业务方可以直接开始开发业务代码。同时在新服务接入时,按内部服务的规范进行相关路由配置,后端服务可以统一拿到鉴权后的用户身份,省时省力。

具体关于内部服务的一些调整细节这里简单介绍一下。


 鉴权插件 OPS-JWT-Auth


鉴权插件是基于 JWT-Auth 协议去开发的,用户访问前端时,前端会先去调用 SDK,去前端本地获取可用的 JWT-Token。然后通过下图的路径获得用户有效信息,放在前端的某个存储里,完成登录鉴权。



image.png



部署配置升级


在部署层面,我们从简单版本经历三次迭代后实现了目前的多集群配置部署。

  • 版本一:双机房 4 个独立节点,管理程序分别写入每个节点的 etcd
  • 版本二: 双机房 4 个独立节点,主机房三节点 etcd 集群
  • 版本三: 三机房 6 个独立节点,三机房 etcd 集群

目前我们还是计算与存储混合部署在一起,后续我们会去部署一个真正高可用的 etcd 集群,这样在管控平面 Apache APISIX 运行时就可以分离出来,以无状态模式部署。


 新增鉴权插件 PAT-Auth


在今年我们又新增了 Person Access Token(PAT)的鉴权插件,这个功能类似于在 GitHub 上去调用 Open API 一样,会生成一个个人 Token,可以以个人身份去调用 Open API。

因为我们自己的运维平台也有一些这样的需求,比如本地的一些开发插件需要以个人身份去访问云平台上的接口时,这种情况下个人 Token 方式就比较方便,允许开发自己给自己授权。

目前 Apache APISIX 2.2 版本后已支持多个 Auth 插件使用,现在可以支持一个 Consumer 运行多个 Auth 插件的场景实现。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
菜鸟 CPaaS 平台微服务治理实践
在使用 MSE 的云产品之后,对 PaaS 平台层来说,避免很多重复功能的建设。在我们业务侧实际落地的远不止如上列举的场景,比如:服务优雅停机、注册中心等能力,均解决了业务侧的微服务治理上的难点问题。
70 0
菜鸟 Cpaas 平台微服务治理实践
在使用mse的云产品之后,对paas平台层来说,避免很多重复功能的建设。在我们业务侧实际落地的远不止如上列举的场景,比如:服务优雅停机、注册中心等能力,均解决了业务侧的微服务治理上的难点问题。 在实现了对项目环境及灰度发布的能力开发之后,我们接下来对服务离群摘除、应用服务列表透出、服务鉴权、本地联调部署等能力做重点关注,在降低业务侧服务运维成本、微服务可观测、服务可用性方面与MSE团队加强合作,帮助业务侧解决微服务治理中的痛点。
32 0
DES原理、使用3DES替换DES(3DES加解密速度只有DES的1/3,为什么不使用2DES?)
DES原理、使用3DES替换DES(3DES加解密速度只有DES的1/3,为什么不使用2DES?)
68 0
JS的原生的Ajax(一)
JS的原生的Ajax(一)
46 0
2022年开年首发!AnalyticDB PostgreSQL全新云原生实例正式发布,全量存算分离,提供秒级弹性,按需存储等产品能力!
云原生数据仓库AnalyticDB PostgreSQL版(简称ADB PG) 基于全新云原生架构,开放Serverless版本实例。本文介绍了新版本的主要产品特性及适配场景。
896 0
何为云原生
云原生 Cloud Native 它是一个由Matt Stine提出的一个概念 它是一个思想的集合 它包括敏捷基础设施(Agile Infrastructure)、康威定律(Conways Law)等 所以Cloud Native也可以理解一系列技术、企业管理方法的集合
100 0
我与云原生的故事
#我与云原生的故事 #云原生学习的最佳路径
12611 0
云原生下研发支撑的新形态
随着技术的不断快速迭代,各种研发主体在领域上不断的涌现出来,企业对于高效低投的研发模式有着越来越强烈的诉求;面对复杂和趋于成熟的业务场景,各个业务主体之间越来越希望建立一种共生的机制加快业务协作创新;针对集团内的研发支撑发展情况、经验及结合业界的热点问题提出一种未来研发的新形态,同时针对模式的演进对于未来研发支撑体系架构做出自己的设想,希望对业界的开发者及企业研发支撑领域的同行带来新的思路及新的研发方法论。
116 0
原生JS的Ajax
转自:https://www.cnblogs.com/yufann/p/JS-Ajax.html 1.创建一个Ajax对象       非IE6浏览器:var obj = new XMLHttpReuqest();       IE6浏览器:var obj = new ActiveXbject("Microsoft.
654 0
《UNIX网络编程 卷1:套接字联网API(第3版)》——1.8 BSD网络支持历史
源自Berkeley的最终版本是1994年的4.4BSD-Lite和1995年的4.4BSD-Lite2。我们指出这两个版本是其他多个系统(包括BSD/OS、FreeBSD、NetBSD和OpenBSD)的基础,这些系统大多数仍然处于活跃的开发和完善之中。
1689 0
1940
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载